像素與毫米的轉換公式_應用技巧
來源:互聯網
上載者:User
像素與毫米的轉換
轉換還需要知道另一個參數:DPI(每英寸多少點)
象素數 / DPI = 英寸數
英寸數 * 25.4 = 毫米數
對於顯示裝置,不管是印表機還是螢幕,都有一種通用的方法
先用GetDeviceCaps(裝置控制代碼,LOGPIXELSX)
或者
GetDeviceCaps(裝置控制代碼,LOGPIXELSY)獲得裝置每英寸的像素數
分別記為:px 和 py
一英寸等於25.4mm
那麼毫米換算成像素的公式為
水平方向的換算: x * px /25.4
垂直方向的換算: y * py /25.4
像素換算為毫米 x * 25.4 / px
在程式中這麼寫
MyControl.Height := 10{mm} * PixelsPerInch * 10 div 254;
分子和分母同乘以10,將浮點數運算轉化為整數運算,效率更高
javascript可以得到的顯示器參數
screen.
availHeight 擷取系統螢幕的工作區域高度,排除 Microsoft® Windows® 工作列。
availWidth 擷取系統螢幕的工作區域寬度,排除 Windows 工作列。
bufferDepth 設定或擷取用於畫面外位元影像緩衝顏色的每一像素位元數。
colorDepth 擷取用於目標設定或緩衝區的顏色每一像素位元數。
deviceXDPI 設定或擷取系統螢幕水平DPI(DPI)的數值。
deviceYDPI 設定或擷取系統螢幕垂直DPI(DPI)的數值。
fontSmoothingEnabled 擷取使用者是否在控制台的顯示設定中啟用了圓整螢幕字型邊角的選項。
height 擷取螢幕的垂直解析度。
logicalXDPI 擷取系統螢幕水平DPI(DPI)的常規數值。
logicalYDPI 擷取系統螢幕垂直DPI(DPI)的常規數值。
updateInterval 設定或擷取螢幕的更新間隔。
width 擷取螢幕的垂直解析度。
常用的1024x768或800x600等標準的解析度計算出來的dpi是一個常數:96,因此計算出來的毫米與像素的關係也約等於一個常數:
基本上 1毫米 約等於 3.78像素