C# Graphics.DrawString加背景色

来源:百度知道 编辑:UC知道 时间:2024/05/31 22:21:14
请问怎么加背景色呢?
因为是在一张有点儿乱的图片上DrawString,如果只写文字,背景是透明的的话看起来很费劲,可不可以给文字加上背景色写?

因为事先不知道文字有多长,最好不要用Graphics.FillPolygon之类的先画个方框再写之类的方法。

你在绘制字符串之前可以使用Graphics的MeasureString方法测量它的尺寸再绘制一个相应大小的矩形就行了,如下
Graphics g = this.CreateGraphics();
Font font = new Font("宋体", 9f);
PointF pointF = new PointF(10, 10);
SizeF sizeF = g.MeasureString("Hello World!", font);
g.FillRectangle(Brushes.White, new RectangleF(pointF, sizeF));
g.DrawString("Hello World!", font, Brushes.Black, pointF);
g.Dispose();
font.Dispose();

文字的长度不知道,可以让它是个变量,变量.Length 就可以知道长度了。然后再把要写文字的部分填充了。最后在DrawString();