如何在 .NET Core 中查找字体和字符串指标?
How to find font and string metrics in .NET Core?
我需要在 .NET Core 2 中测量字符串的宽度和高度(以像素为单位)。
在 .NET Framework 中可以使用 Graphics.MeasureString
方法完成,但在 .NET Core 中,Graphics class 不再存在。
我也试图找到一个 Font 或 FontFamily class 并提取字体大小、字体上升和字体下降,但我找不到任何类似的东西。
目前的.NET Core 版本,还在努力中,是否可以测量字符串或获取字体指标?
更新 2017 年 11 月 17 日
可以使用 CoreCompat.System.Drawing.v2
NuGet 包,它提供 System.Drawing 基于 Mono 的程序集的跨平台实现。我目前在 Windows、Linux 和 macOS 上使用它 CI 运行,到目前为止没有大的问题。
DotNet 团队已经完成了将 System.Drawing 功能移植到 .NET Core 的工作(请参阅 CoreFX GitHub 存储库 Support Full System.Drawing Functionality on .NET Core and issue #24909 Ship .NET Framework compatibility pack 中的问题 #20325)。第一个预览版计划于 2017 年 11 月发布.
计划与 .NET Core 2.1.0 版本一起发布,并与 .NET Framework Microsoft 兼容包一起发布。软件包将支持除 Windows.
上的 UWP 以外的所有主要平台
Graphics.MeasureString
功能实现here
我是 CoreCompat.System.Drawing 的维护者。如果您使用的是 .NET Core 2.0,我建议您改用 System.Drawing.Common。虽然尚未发布,但 NuGet 上已经有一个预览版,它应该是 CoreCompat.System.Drawing.
的直接替代品
我需要在 .NET Core 2 中测量字符串的宽度和高度(以像素为单位)。
在 .NET Framework 中可以使用 Graphics.MeasureString
方法完成,但在 .NET Core 中,Graphics class 不再存在。
我也试图找到一个 Font 或 FontFamily class 并提取字体大小、字体上升和字体下降,但我找不到任何类似的东西。
目前的.NET Core 版本,还在努力中,是否可以测量字符串或获取字体指标?
更新 2017 年 11 月 17 日
可以使用 CoreCompat.System.Drawing.v2
NuGet 包,它提供 System.Drawing 基于 Mono 的程序集的跨平台实现。我目前在 Windows、Linux 和 macOS 上使用它 CI 运行,到目前为止没有大的问题。
DotNet 团队已经完成了将 System.Drawing 功能移植到 .NET Core 的工作(请参阅 CoreFX GitHub 存储库 Support Full System.Drawing Functionality on .NET Core and issue #24909 Ship .NET Framework compatibility pack 中的问题 #20325)。第一个预览版计划于 2017 年 11 月发布.
计划与 .NET Core 2.1.0 版本一起发布,并与 .NET Framework Microsoft 兼容包一起发布。软件包将支持除 Windows.
上的 UWP 以外的所有主要平台Graphics.MeasureString
功能实现here
我是 CoreCompat.System.Drawing 的维护者。如果您使用的是 .NET Core 2.0,我建议您改用 System.Drawing.Common。虽然尚未发布,但 NuGet 上已经有一个预览版,它应该是 CoreCompat.System.Drawing.
的直接替代品