我有一个由服务器和客户端组成的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值创建Graphics呢?
发布于 2015-08-28 05:17:31
您可以尝试这个技巧:将转换应用到您用来测量的字体大小:在120dpi上使用12pt字体的绘图将与在96dpi上使用12*120/ 96 =15的绘图使用相同的像素数。
https://stackoverflow.com/questions/27017404
复制相似问题