像素與毫米如何換算?
像素與毫米的轉換
轉換還需要知道另一個參數: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)的數值。
deviceYDPI 設置或獲取系統屏幕垂直每英寸點數(DPI)的數值。
fontSmoothingEnabled 獲取用戶是否在的顯示設置中啟用了圓整屏幕字體邊角的選項。
height 獲取屏幕的垂直分辨率。
logicalXDPI 獲取系統屏幕水平每英寸點數(DPI)的常規數值。
logicalYDPI 獲取系統屏幕垂直每英寸點數(DPI)的常規數值。
updateInterval 設置或獲取屏幕的更新間隔。
width 獲取屏幕的垂直分辨率。常用的1024x768或800x600等標準的分辨率計算出來的dpi是一個常數:96,因此計算出來的毫米與像素的關系也約等于一個常數:
基本上 1毫米 約等于 3.78像素