gpt4 book ai didi

c# - 文本渲染器 : How to measure text as if it was on machine with different Dpi?

转载 作者:太空狗 更新时间:2023-10-29 20:41:42 27 4
gpt4 key购买 nike

我有一个 C# WinForms 应用程序,它由服务器端和客户端组成。我使用 TextRenderer.MeasureText(string text, Font font) 方法来测量文本。

有时我需要在服务器端测量文本,就像在客户端一样。我将 Graphics.DpiX 和 Graphics.DpiY 值从客户端发送到服务器。基于这些值,我如何测量服务器端的文本?关键是客户端和服务器 Dpi 可能不同。

我想,我可以通过某种方式从 Dpi 值创建 Graphics 对象并使用 TextRenderer.MeasureText(IDeviceContext dc, string text, Font font) 重载来测量我的文本。但是如何仅从 DpiX 和 DpiY 值创建图形呢?

最佳答案

您可以尝试这个 hack:将转换应用到您要测量的字体大小:在 120dpi 上使用 12pt 字体绘图将占用与在 96 上使用 12*120/96=15 绘图相同的像素数分辨率。

关于c# - 文本渲染器 : How to measure text as if it was on machine with different Dpi?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27017404/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com