使用GDI+计算文本大小碰到的问题?

XieKe_cs01 2007-02-28 08:02:42
使用Graphics的MeasureString方法计算文本的大小,计算一个字符“AA”时得到的文本长度是10.1875,面计算两个字符“AA”时得到的文本长度是16.3750,为什么两个字符的长度不是一个字符的两倍大小?
代码如下:
Font font(L"宋体", 9);
PointF origin(0.0f, 0.0f);
StringFormat format;
format.SetAlignment(StringAlignmentNear);
format.SetLineAlignment(StringAlignmentNear) ;
RectF boundRect;
// Measure the string.
float fWidth ;
graphics.MeasureString(L"A", 1 , &font, origin, &format, &boundRect);
fWidth = boundRect.Width ;//fWidth=10.1875
graphics.MeasureString(L"AA", 2 , &font, origin, &format, &boundRect);
fWidth = boundRect.Width ;//fWidth=16.3750
...全文
238 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
XieKe_cs01 2007-03-01
  • 打赏
  • 举报
回复
谢谢nicochang!
nicochang 2007-03-01
  • 打赏
  • 举报
回复
那个地址是vs2005的msdn,如果你要online的msdn是这个
http://msdn2.microsoft.com/zh-cn/library/6xe5hazb(VS.80).aspx
XieKe_cs01 2007-02-28
  • 打赏
  • 举报
回复
谢谢!那要怎么才能准确计算文本大小?你下面提供的网址打不开啊
nicochang 2007-02-28
  • 打赏
  • 举报
回复
字符串前后包括少量额外的空格供突出的标志符号使用---msdn

ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.NETDEVFX.v20.chs/cpref8/html/M_System_Drawing_Graphics_MeasureString_1_2282dce0.htm

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧