C# 将像素转换为twips

C# 将像素转换为twips,c#,pixel,C#,Pixel,我在VB6中有一个项目,我需要将其转换为C#,该项目使用TextWidth方法,我将其替换为C#中的TextRenderer.MeasureText方法,该方法返回以像素为单位的大小,但我需要将其转换为twips以用于其他用途,我如何做到这一点 您可以使用。您可以编写一个扩展来保存将像素转换为twip的逻辑。 看见 有关如何操作的示例。我已编辑了您的标题。请参见“”,其中的共识是“不,他们不应该”。如果要将所有内容都转换为C,为什么需要twips值?当然,无论您以前在哪里使用此值,该代码的替代品

我在VB6中有一个项目,我需要将其转换为C#,该项目使用TextWidth方法,我将其替换为C#中的TextRenderer.MeasureText方法,该方法返回以像素为单位的大小,但我需要将其转换为twips以用于其他用途,我如何做到这一点

您可以使用。

您可以编写一个扩展来保存将像素转换为twip的逻辑。 看见
有关如何操作的示例。

我已编辑了您的标题。请参见“”,其中的共识是“不,他们不应该”。如果要将所有内容都转换为C,为什么需要twips值?当然,无论您以前在哪里使用此值,该代码的替代品都将需要像素值而不是twips?我使用的是64位进程,正如您在这里看到的,它不受支持:您在哪里使用twips?你能不能用一个常量,比如
1440/ScreenDPI
?谢谢这里是我的实现:公共静态int-ConvertPixelsToXTwips(这个图形源,int-pixel){return(int)((double)pixel/((1.0/1440.0)*source.DpiX));}但是现在我有一个新问题,我发现vb6 TextWidth返回的数字与TextRenderer.MeasureText的结果不同,即使在转换之后也是如此