Files
annotations/Azaion.Common/Extensions/GraphicsExtensions.cs
T
2025-04-03 11:56:01 +03:00

28 lines
923 B
C#

using System.Drawing;
namespace Azaion.Common.Extensions;
public static class GraphicsExtensions
{
public static void DrawTextBox(this Graphics g, string text, PointF position, Brush background, Brush foreground)
{
using var textFont = new Font(FontFamily.GenericSerif, 14);
using var stringFormat = new StringFormat();
stringFormat.LineAlignment = StringAlignment.Near;
stringFormat.Alignment = StringAlignment.Center;
var padding = 1.0f;
var textSize = g.MeasureString(text, textFont);
var backgroundRect = new RectangleF(
position.X - textSize.Width / 2.0f - padding,
position.Y - padding,
textSize.Width + 2 * padding,
textSize.Height + 2 * padding
);
g.FillRectangle(background, backgroundRect);
g.DrawString(text, textFont, foreground, position, stringFormat);
}
}