为了账号安全,请及时绑定邮箱和手机立即绑定

MeasureString 不准确

MeasureString 不准确

梵蒂冈之花 2018-11-20 09:05:59
我在将字符串(含中文)Draw到一幅图片上时发现这个问题的。比如一幅图片的宽是400pixel,Graphics对象g的GraphicUnit是Pixel,我要画到图上的字符串是str,我用g.MeasureString(str.SubString(0,i),font)来计算前i个字符的宽度width.当width大于宽度时,停止循环,并将前i个字符画到图片上,查看画完的图片发现图上前i个字符的后面还有很大一段空白(前i的字符的宽度明显小于图片的宽),我这样用MeasureString没问题吧,还是.net的BUG? 因为是用在网页上的,所以也没法调用Windows API
查看完整描述

2 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

MeasureString默认情况下确实要偏大一点,需要额外设置stringFormat,举个例子

e.Graphics.MeasureString(text, Font,1000,StringFormat.GenericTypographic)

这样就能正确测量了。


查看完整回答
反对 回复 2018-11-21
  • 2 回答
  • 0 关注
  • 745 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信