c# – 确定.NET中渲染字符的宽度

假设我在Arial Regular中将字符“A”渲染到大小为14的字体的屏幕上.有没有办法在C#中计算多少像素宽?

感谢所有的答案到目前为止.我正在渲染文本的方式是通过ESRI的ArcEngine,通过Dynamicdisplay引擎,通过调用GDI或GDI(我不知道哪一个)关于时尚.

解决方法

这取决于正在使用的渲染引擎. .NET可能使用GDI或GDI.可以通过相应设置 UseCompatibleTextRendering属性调用 Application.SetCompatibleTextRenderingDefault方法进行切换.

使用GDI时应该使用MeasureString

string s = "A sample string";

Sizef size = e.Graphics.MeasureString(s,new Font("Arial",24));

当使用GDI(即本地Win32渲染)时,您应该使用TextRenderer类:

Sizef size = TextRenderer.MeasureText(s,24));

本文介绍了更多细节:

07004

请注意,以上谈论Windows窗体.在WPF中,您将使用FormattedText

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...