首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

如何设置image的字体和字体大小

2013-08-22 
怎么设置image的字体和字体大小?创建一个Image,并在上面输出文字Image imgTemp new Bitmap(192,16)//创

怎么设置image的字体和字体大小?
创建一个Image,并在上面输出文字
Image imgTemp = new Bitmap(192,16);//创建Image对象,大小为200 * 200
Graphics g2 = Graphics.FromImage(imgTemp);//在Image对象上创建Graphics对象g2
IntPtr HDC=g2.GetHdc();
         
Font drawFont = new Font("宋体", 36, FontStyle.Regular);
SolidBrush drawBrush = new SolidBrush(Color.Red );
g2.DrawString(lpszString, drawFont, drawBrush, new RectangleF(0, 0, MeasureSize.Width , MeasureSize.Height));

但是要用
bool rt = GetTextExtentExPoint(HDC, lpszString, lpszString.Length, 0, null, null, out MeasureSize);
返回显示区域的大小就不正确了,好像是因为Image还是保存缺省的字体和字体大小,有什么办法是直接修改image的字体和字体大小的,而不是到输出时在指定
[解决办法]
GetTextExtentExPoint 是属于 API 方法吧,请用 g2.MeasureString 替代。
image 只有在绘制的时候才有字体的概念,绘完就只有图像了,在输出时指定是最合理的。

热点排行