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

前端之家收集整理的这篇文章主要介绍了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

猜你在找的C#相关文章