c#怎么精确测量画出来得string的象素长度? 我用Graphics.MeasureString()测出来的长度误差太大了,象str="asdhfjashidfasdfkhsdiau";画出来误差大约有20个象素。有什么方法可以很精确的得到画出来的string象素长度 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用TextRenderer.MesureText方法来测量。 下面的代码示例说明如何使用 MeasureText 方法。若要运行此示例,请将该代码粘贴到一个 Windows 窗体中,并从该窗体的 Paint 事件处理程序中调用 MeasureText1 ,将 e 作为 PaintEventArgs 传递。private void MeasureText1(PaintEventArgs e){ String text1 = "Measure this text"; Font arialBold = new Font("Arial", 12.0F); Size textSize = TextRenderer.MeasureText(text1, arialBold); TextRenderer.DrawText(e.Graphics, text1, arialBold, new Rectangle(new Point(10, 10), textSize), Color.Red); } Graphics.MeasureString()这个方法一直是我画图使用的没发现那么大的误差TextRenderer.MesureText是2.0新增的~~~~ to:hbxtlhx(平民百姓-自已动手,丰衣足食) ( ) 信誉:112 我的vs2003怎么找不到TextRenderer的命名空间? TextRenderer确实是2。0的方法。 如果1.1里可以很好的来测量的话,就没有必要在2.0里新增方法了。所以,要么想办法使用API来测量,要么使用新的版本。 测出来应该是很准的。不准可能是你没有设置好FONT SIZE或者逻辑坐标的单位。 在VS中调用WebService正常,在IIS中没反应 DataGrid设置选中行的问题 如何把byte[]读到Stream对象中 winform 中 如何给treeview 添加 子节点 各位,请问winform里面的功能强大的日历控件 请求一个好的udp分包组包算法. dataview排序后,怎么把内容变更到dataset中 如何使用DirectXMusic技术播放声音? 各位老师C# 能不能一下读取EXCEL多行多列的内容 http 的 socket 如何改写为支持 https 证书验证的 socket 无法调用具有完全限定名 这个问题是签名文件不匹配,还是什么,如何解决呢
{
String text1 = "Measure this text";
Font arialBold = new Font("Arial", 12.0F);
Size textSize = TextRenderer.MeasureText(text1, arialBold);
TextRenderer.DrawText(e.Graphics, text1, arialBold,
new Rectangle(new Point(10, 10), textSize), Color.Red);
}
这个方法一直是我画图使用的
没发现那么大的误差TextRenderer.MesureText是2.0新增的~~~~
我的vs2003怎么找不到TextRenderer的命名空间?
不准可能是你没有设置好FONT SIZE或者逻辑坐标的单位。