我需要在 .NET Core 2 中测量字符串的宽度和高度(以像素为单位)。
在 .NET Framework 中可以使用 Graphics.MeasureString
方法完成,但在 .NET Core 中,Graphics 类不再存在。
我还试图找到一个 Font 或 FontFamily 类并提取字体大小、字体上升和字体下降,但我找不到任何类似的东西。
对于当前的 .NET Core 版本,这仍在努力工作中,是否可以测量字符串或获取字体指标?
最佳答案
更新 2017 年 11 月 17 日
可以使用 CoreCompat.System.Drawing.v2
NuGet 包,它提供基于 Mono 的 System.Drawing 程序集的跨平台实现。我目前在 CI 运行的 Windows、Linux 和 macOS 上使用它,到目前为止没有出现重大问题。
DotNet 团队已经完成了将 System.Drawing 功能移植到 .NET Core 的工作(请参阅 CoreFX GitHub 存储库中的问题 #20325 Support Full System.Drawing Functionality on .NET Core 和问题 #24909 Ship .NET Framework compatibility pack。第一个预览版计划于 2017 年 11 月发布。
计划与 .NET Core 2.1.0 版本一起发布,并与 .NET Framework Microsoft 兼容包一起发布。软件包将支持所有主要平台,但 Windows 上的 UWP 除外。
Graphics.MeasureString
函数实现here
关于c# - 如何在 .NET Core 中查找字体和字符串指标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47092981/