像素与毫米的转换公式

所属分类: 实用技巧 / 应用技巧 阅读数: 1557
收藏 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像素 
更多精彩内容其他人还在看

解决最近Hotmail无法登陆,hotmail不能登陆的最新解决方法总结

解决最近Hotmail无法登陆,hotmail不能登陆的最新解决方法总结
收藏 0 赞 0 分享

用nero刻录可启动功能的光盘而且光盘不是iso格式的

用nero刻录可启动功能的光盘而且光盘不是iso格式的
收藏 0 赞 0 分享

上海居住证办理 续办上海居住证全攻略

上海居住证办理 续办上海居住证全攻略
收藏 0 赞 0 分享

可以用IE轻松远程控制对方电脑的软件 motelyAnywhere 安装使用图文教程

可以用IE轻松远程控制对方电脑的软件 motelyAnywhere 安装使用图文教程
收藏 0 赞 0 分享

完美解决Persits.Jpeg.1 错误 ''800a0001''

完美解决Persits.Jpeg.1 错误 ''800a0001''
收藏 0 赞 0 分享

真正解决win2003的“由于下列错误,Parallel port driver 服务启动失败的解决方法”

真正解决win2003的“由于下列错误,Parallel port driver 服务启动失败的解决方法”
收藏 0 赞 0 分享

ftp上传时数据Socket错误连接超时的解决方法

ftp上传时数据Socket错误连接超时的解决方法
收藏 0 赞 0 分享

解决Default storage engine (InnoDB) is not available导致mysql无法启动的修改办法

解决Default storage engine (InnoDB) is not available导致mysql无法启动的修改办法
收藏 0 赞 0 分享

让星空极速彻底下岗的图文教程

让星空极速彻底下岗的图文教程
收藏 0 赞 0 分享

打开扩展名为ac.$的AutoCAD的临时文件的方法

打开扩展名为ac.$的AutoCAD的临时文件的方法
收藏 0 赞 0 分享
查看更多