Windows 上的 MeasureString 与 .NET Core 中的 Ubuntu 不匹配

System.Drawing.Graphics.MeasureString用于字符串测量,但它在 Windows 和 Ubuntu 计算机上为相同的参数返回不同的结果。在 Ubuntu 上,我比在 Windows 上获得更大的价值。起初,它甚至无法在 Ubuntu 上运行,我不得不安装这些软件包libc6-dev, libgdiplus及其依赖项。

获得不同的值对我来说是一个相当大的问题,因为确切的值会对应用程序产生影响。

我使用 .NET Core 2.1,System.Drawing.Common v4.5.0

我能以某种方式在两个平台上实现相同的值吗?


PIPIONE
浏览 176回答 2
2回答

互换的青春

我在使用 .Net 6 时遇到了同样的错误,我通过使用以下命令安装 microsoft 字体来修复它sudo apt install ttf-mscorefonts-installer单击选项卡以选择确定以接受许可证sudo fc-cache -f它是固定的

慕哥6287543

如果您能够编写一个允许其他人重现您的问题的小程序,您应该能够针对 libgdiplus 提交错误。为了提高 libgdiplus 和 GDI+ 之间的兼容性,我们做了很多工作,所以有一些机会可以解决这个问题。libgdiplus 的存储库位于https://github.com/mono/libgdiplus。
打开App,查看更多内容
随时随地看视频慕课网APP