微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/csharp/95329.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐