像素與毫米的轉(zhuǎn)換公式
更新時(shí)間:2007年12月29日 20:11:14 作者:
像素與毫米的轉(zhuǎn)換公式
像素與毫米的轉(zhuǎn)換
轉(zhuǎn)換還需要知道另一個(gè)參數(shù):DPI(每英寸多少點(diǎn))
象素?cái)?shù) / DPI = 英寸數(shù)
英寸數(shù) * 25.4 = 毫米數(shù)
對(duì)于顯示設(shè)備,不管是打印機(jī)還是屏幕,都有一種通用的方法
先用GetDeviceCaps(設(shè)備句柄,LOGPIXELSX)
或者
GetDeviceCaps(設(shè)備句柄,LOGPIXELSY)獲得設(shè)備每英寸的像素?cái)?shù)
分別記為:px 和 py
一英寸等于25.4mm
那么毫米換算成像素的公式為
水平方向的換算: x * px /25.4
垂直方向的換算: y * py /25.4
像素?fù)Q算為毫米 x * 25.4 / px
在程序中這么寫
MyControl.Height := 10{mm} * PixelsPerInch * 10 div 254;
分子和分母同乘以10,將浮點(diǎn)數(shù)運(yùn)算轉(zhuǎn)化為整數(shù)運(yùn)算,效率更高
javascript可以得到的顯示器參數(shù)
screen.
availHeight 獲取系統(tǒng)屏幕的工作區(qū)域高度,排除 Microsoft® Windows® 任務(wù)欄。
availWidth 獲取系統(tǒng)屏幕的工作區(qū)域?qū)挾?,排?nbsp;Windows 任務(wù)欄。
bufferDepth 設(shè)置或獲取用于畫面外位圖緩沖顏色的每像素位數(shù)。
colorDepth 獲取用于目標(biāo)設(shè)置或緩沖區(qū)的顏色每像素位數(shù)。
deviceXDPI 設(shè)置或獲取系統(tǒng)屏幕水平每英寸點(diǎn)數(shù)(DPI)的數(shù)值。
deviceYDPI 設(shè)置或獲取系統(tǒng)屏幕垂直每英寸點(diǎn)數(shù)(DPI)的數(shù)值。
fontSmoothingEnabled 獲取用戶是否在控制面板的顯示設(shè)置中啟用了圓整屏幕字體邊角的選項(xiàng)。
height 獲取屏幕的垂直分辨率。
logicalXDPI 獲取系統(tǒng)屏幕水平每英寸點(diǎn)數(shù)(DPI)的常規(guī)數(shù)值。
logicalYDPI 獲取系統(tǒng)屏幕垂直每英寸點(diǎn)數(shù)(DPI)的常規(guī)數(shù)值。
updateInterval 設(shè)置或獲取屏幕的更新間隔。
width 獲取屏幕的垂直分辨率。
常用的1024x768或800x600等標(biāo)準(zhǔn)的分辨率計(jì)算出來的dpi是一個(gè)常數(shù):96,因此計(jì)算出來的毫米與像素的關(guān)系也約等于一個(gè)常數(shù):
基本上 1毫米 約等于 3.78像素
轉(zhuǎn)換還需要知道另一個(gè)參數(shù):DPI(每英寸多少點(diǎn))
象素?cái)?shù) / DPI = 英寸數(shù)
英寸數(shù) * 25.4 = 毫米數(shù)
對(duì)于顯示設(shè)備,不管是打印機(jī)還是屏幕,都有一種通用的方法
先用GetDeviceCaps(設(shè)備句柄,LOGPIXELSX)
或者
GetDeviceCaps(設(shè)備句柄,LOGPIXELSY)獲得設(shè)備每英寸的像素?cái)?shù)
分別記為:px 和 py
一英寸等于25.4mm
那么毫米換算成像素的公式為
水平方向的換算: x * px /25.4
垂直方向的換算: y * py /25.4
像素?fù)Q算為毫米 x * 25.4 / px
在程序中這么寫
MyControl.Height := 10{mm} * PixelsPerInch * 10 div 254;
分子和分母同乘以10,將浮點(diǎn)數(shù)運(yùn)算轉(zhuǎn)化為整數(shù)運(yùn)算,效率更高
javascript可以得到的顯示器參數(shù)
screen.
availHeight 獲取系統(tǒng)屏幕的工作區(qū)域高度,排除 Microsoft® Windows® 任務(wù)欄。
availWidth 獲取系統(tǒng)屏幕的工作區(qū)域?qū)挾?,排?nbsp;Windows 任務(wù)欄。
bufferDepth 設(shè)置或獲取用于畫面外位圖緩沖顏色的每像素位數(shù)。
colorDepth 獲取用于目標(biāo)設(shè)置或緩沖區(qū)的顏色每像素位數(shù)。
deviceXDPI 設(shè)置或獲取系統(tǒng)屏幕水平每英寸點(diǎn)數(shù)(DPI)的數(shù)值。
deviceYDPI 設(shè)置或獲取系統(tǒng)屏幕垂直每英寸點(diǎn)數(shù)(DPI)的數(shù)值。
fontSmoothingEnabled 獲取用戶是否在控制面板的顯示設(shè)置中啟用了圓整屏幕字體邊角的選項(xiàng)。
height 獲取屏幕的垂直分辨率。
logicalXDPI 獲取系統(tǒng)屏幕水平每英寸點(diǎn)數(shù)(DPI)的常規(guī)數(shù)值。
logicalYDPI 獲取系統(tǒng)屏幕垂直每英寸點(diǎn)數(shù)(DPI)的常規(guī)數(shù)值。
updateInterval 設(shè)置或獲取屏幕的更新間隔。
width 獲取屏幕的垂直分辨率。
常用的1024x768或800x600等標(biāo)準(zhǔn)的分辨率計(jì)算出來的dpi是一個(gè)常數(shù):96,因此計(jì)算出來的毫米與像素的關(guān)系也約等于一個(gè)常數(shù):
基本上 1毫米 約等于 3.78像素
相關(guān)文章
登陸FTP服務(wù)器feat命令錯(cuò)誤的解決方法[登陸后不能得到文件列表的解決辦法]
登陸FTP服務(wù)器feat命令錯(cuò)誤的解決方法[登陸后不能得到文件列表的解決辦法]...2007-02-02優(yōu)盤,移動(dòng)硬盤插入usb或光驅(qū)放光盤為什么一卡就死機(jī)的正確原因分析
優(yōu)盤,移動(dòng)硬盤插入usb或光驅(qū)放光盤為什么一卡就死機(jī)的正確原因分析...2007-12-12IIS運(yùn)行錯(cuò)誤 Server Application Error 錯(cuò)誤代碼 Error: 8004的解決方法
IIS故障新解...其實(shí)也不是什么新解,呵呵不過網(wǎng)絡(luò)上的大蝦們給的方法結(jié)合了下就搞定了問題2007-09-09efang設(shè)置出現(xiàn)讀取Serv-U路徑失敗330101的解決方法
今天給朋友弄efang虛擬主機(jī)管理系統(tǒng),發(fā)現(xiàn)設(shè)置serv-u就出現(xiàn)讀取Serv-U路徑失敗330101。這是第二次碰到這種問題了,唉,記錄下來,也給朋友們一個(gè)解決方法2008-06-06Google AdSense今日開放西聯(lián)匯款 大大加快匯款速度 就是托收成本比托收多了幾十
Google AdSense今日開放西聯(lián)匯款 大大加快匯款速度 就是托收成本比托收多了幾十...2007-09-09使用tab做左縮進(jìn)和右縮進(jìn), 你知道么?
使用tab做左縮進(jìn)和右縮進(jìn), 你知道么?...2006-12-12