我需要將像素轉(zhuǎn)換為C#中的點(diǎn)。我已經(jīng)看到了有關(guān)該主題的一些復(fù)雜解釋,但似乎找不到簡(jiǎn)單的公式。讓我們假設(shè)一個(gè)標(biāo)準(zhǔn)的96dpi,如何計(jì)算此轉(zhuǎn)換?
3 回答

幕布斯6054654
TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊
如果您的代碼采用以下形式,請(qǐng)嘗試以下操作:
Graphics g = this.CreateGraphics();
points = pixels * 72 / g.DpiX;
g.Dispose();

qq_花開(kāi)花謝_0
TA貢獻(xiàn)1835條經(jīng)驗(yàn) 獲得超7個(gè)贊
從給定的開(kāi)始:
一英寸有72個(gè)點(diǎn)(即一個(gè)點(diǎn)是1/72英寸)
在設(shè)置為150dpi的系統(tǒng)上,每英寸有150個(gè)像素。
1 in = 72pt = 150px(用于150dpi設(shè)置)
如果要基于像素(px)查找點(diǎn)(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 關(guān)注
- 806 瀏覽
添加回答
舉報(bào)
0/150
提交
取消