我需要将像素转换为C#中的点。我已经看到了有关该主题的一些复杂解释,但似乎找不到简单的公式。让我们假设一个标准的96dpi,如何计算此转换?
3 回答
幕布斯6054654
TA贡献1876条经验 获得超7个赞
如果您的代码采用以下形式,请尝试以下操作:
Graphics g = this.CreateGraphics();
points = pixels * 72 / g.DpiX;
g.Dispose();
qq_花开花谢_0
TA贡献1835条经验 获得超7个赞
从给定的开始:
一英寸有72个点(即一个点是1/72英寸)
在设置为150dpi的系统上,每英寸有150个像素。
1 in = 72pt = 150px(用于150dpi设置)
如果要基于像素(px)查找点(pt):
72 pt x pt
------ = ----- (1) for 150dpi system
150 px y px
重新排列:
x = (y/150) * 72 (2) for 150dpi system
所以:
points = (pixels / 150) * 72 (3) for 150dpi system
- 3 回答
- 0 关注
- 763 浏览
添加回答
举报
0/150
提交
取消