像素与毫米的转换公式

所属分类: 实用技巧 / 应用技巧 阅读数: 1661
收藏 0 赞 0 分享
像素与毫米的转换
转换还需要知道另一个参数: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像素 
更多精彩内容其他人还在看

rundll32.exe命令使用大法

rundll32.exe命令使用大法
收藏 0 赞 0 分享

资料:引起内存不能“read”的原因及“written”的解决方案

资料:引起内存不能“read”的原因及“written”的解决方案
收藏 0 赞 0 分享

资料:8种Windows安全模式解析以及应用

资料:8种Windows安全模式解析以及应用
收藏 0 赞 0 分享

如何删掉“删不掉”的文件

如何删掉“删不掉”的文件
收藏 0 赞 0 分享

解决IE7不能自动完成表单的问题

解决IE7不能自动完成表单的问题
收藏 0 赞 0 分享

资料:数据恢复知识基础

资料:数据恢复知识基础
收藏 0 赞 0 分享

Office 2007 System 常见问题集第1/3页

Office 2007 System 常见问题集
收藏 0 赞 0 分享

重装windows系统备份重要数据全攻略

重装windows系统备份重要数据全攻略
收藏 0 赞 0 分享

资料:如何用虚拟机安装Windows Vista系统

资料:如何用虚拟机安装Windows Vista系统
收藏 0 赞 0 分享

网管经验之谈:局域网维护优化技巧

网管经验之谈:局域网维护优化技巧
收藏 0 赞 0 分享
查看更多