问题描述
不知道各位大侠有没有碰到过类似的问题,我调用Graphics里的drawstring()函数画出来的字母和数字是粗体的,但是汉字却是正常的,font设置的是"arial"如果设置成"宋体"就全部成粗体的了我的系统是Win7的,以前在XP上也遇到过这样的问题,但是将XP里的桌面“效果”里的所有东东都勾掉后就好了,咋回事?在线等答案!以下是测试代码,大家看看那张图的效果就知道我说的……Imageim=newBitmap(200,100);Graphicsg=Graphics.FromImage(im);g.DrawString("wowooooowow113123123123123湖北武汉",newFont("arial",8,FontStyle.Regular),Brushes.Black,newPointF(10,40));im.Save("C://Test.jpg");
解决方案
解决方案二:
自己顶一下,没人会吗??
解决方案三:
如果是宋体10号字的话就是正常的都不是粗体如果是8号字就不对了,汉字还是正常,英文就变成粗体了,求解
解决方案四:
其实这只是错觉,你把FontStyle.Regular改为FontStyle.Bold会更粗!
解决方案五:
引用1楼的回复:
自己顶一下,没人会吗??
这个只是GDI+的渲染和Windows的渲染在文字上少有差异,如果你觉得一定要一样,可以尝试自己解析字体渲染文字。
解决方案六:
改成黑体或微软雅黑等等宽笔划的即可。
解决方案七:
我想用细的不是用粗的
解决方案八:
引用3楼的回复:
其实这只是错觉,你把FontStyle.Regular改为FontStyle.Bold会更粗!
我知道会变的更粗,我想把他们都弄成细的。你可以帮我忙?
解决方案九:
没人帮忙吗?我要结贴啦,帮我啊,对我有用的我都给分。
解决方案十:
字体的问题吧。
解决方案十一:
为什么要用drawstring()呢可否用其它方法代替?
解决方案十二:
引用10楼的回复:
为什么要用drawstring()呢可否用其它方法代替?
作图只能画引用9楼的回复:
字体的问题吧。
不知道我换了好几个字体了都不对
解决方案十三:
在绘制文字之前加上这一行,就可以绘制任意文字而不会出现锯齿:g.TextRenderingHint=System.Drawing.Text.TextRenderingHint.AntiAlias;