mirror of
https://github.com/azaion/annotations.git
synced 2026-04-22 21:46:30 +00:00
28 lines
923 B
C#
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);
|
|
}
|
|
|
|
} |