作为一名开人人员,我们经常会遇到客户莫名其妙的需求。 这不咱又遇到了,客户给的资料竟然是用厘米做的单位!!
于是只能自己去追寻单位转换之法,具体分享给朋友们 ?

像素与毫米的转换
转换还需要知道另一个参数: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像素

px和毫米之间的转换相关推荐

  1. 微信小程序 尺寸单位px与rpx之间的转换(入门篇)

    1.rpx:微信小程序中的尺寸单位rpx(responsive pixel):可以根据屏幕宽度进行自适应.规定屏幕宽度为750rpx. 微信官方建议视觉稿以iphone6为标准. 2.个人示例测试: ...

  2. 微信小程序px和rpx之间的转换

    由于在微信小程序中,所有屏幕的宽度均为750rpx,因此可以进行如下转换: rpx转px: var px = rpx / 750 * wx.getSystemInfoSync().windowWidt ...

  3. javascript 实现像素px与毫米mm的转换

    function unitConversion() {/*** 获取DPI* @returns {Array}*/this.conversion_getDPI =function () {var ar ...

  4. uniapp 中 px与rpx 之间的转换

    由于uniapp 是根据750rpx 为屏幕基准,那么如果设计稿假设宽度为375px,元素在设计稿的宽度是100px,那么转换成rpx就是 750 * (100 / 375) = 200rpx

  5. 摩客怎么设置安卓的dp_Android中dp和px之间进行转换

    在xml布局文件中,我们既可以设置px,也可以设置dp(或者dip).一般情况下,我们都会选择使用dp,这样可以保证不同屏幕分辨率的机器上布局一致.但是在代码中,如何处理呢?很多控件的方法中都只提供了 ...

  6. rem与px之间的转换

    rem与px之间的转换 最近一直在写app,那今天就说一下rem与px之间的转换. rem是相对于根元素,这样就意味着,我们只需要在根元素确定一个参考值,这个参考值设置为多少,完全可以根据您自己的需求 ...

  7. 关于 字号、PX像素、PT点数、em、CM厘米、MM毫米之间的换算

    关于 字号.PX像素.PT点数.em.CM厘米.MM毫米之间的换算 (2011-04-25 15:09:21)转载▼ 标签: 杂谈 分类: 专业知识 pt (point,磅) 是一个物理长度单位,指的 ...

  8. px/em/pt区别和转换

    老是被人问到px.pt和em的区别,自己有时候也会纠结到底该用什么单位,今天特意查了一些文章,下面这篇虽然很久远了,但解释的比较全面,转载收藏之.点击查看原文 这里引用的是Jorux的"95 ...

  9. Android---- android计量单位--dip、px、sp之间区别与联系pixs =dips * (densityDpi/160). dips=(pixs*160)/d...

    android计量单位--dip.px.sp之间区别与联系pixs =dips * (densityDpi/160). dips=(pixs*160)/d [复制链接]     fanly 252 主 ...

  10. 相机标定:像素焦距和毫米焦距的转换,根据内参计算FOV

    1. 像素焦距和毫米焦距的转换 像素焦距和毫米焦距之间的转换 链接: link 1.像素焦距与毫米焦距转换 fu = ku * dpx; fv = kv * dpy; ku.kv分别为摄像机内参矩阵的 ...

最新文章

  1. mysql乐观锁处理超卖_通过乐观锁解决库存超卖的问题
  2. QIIME 2教程. 29参考数据库DataResources(2020.11)
  3. L1标准化与L2标准化
  4. 为什么我做数据库类的程序要用代码生成器,而且是前前后后,反反复复 [转]...
  5. Current在Java里面_在C#中相当于Java System.currentTimeMillis()
  6. BurpSuite下载CA证书
  7. 牛客小白月赛9: F. 暴力出奇迹(思维题)
  8. delphi中webbrowse控件中模拟点击文本超链接_游戏中lt;控件gt;的思考
  9. 探索生产计划排程(APS)的发展历程
  10. 什么样的人适合3D打印培训课程——宁波清车3D打印培训
  11. HUAWEI内网最新发布了一份452页网络协议手册,GitHub一夜霸榜
  12. mysql可以用表情符号_让MySQL支持emoji表情符号存储
  13. 解决No instances available for XXX
  14. 软件测试常见分辨率测试,兼容测试:常见的显示器分辨率
  15. 1+x云计算中级,第二天串讲,拓扑图
  16. 在Kali操作系统上使用metasploit
  17. matlab 实验七,matlab 实验七 数字填图问题
  18. [读书笔记]结绳记事
  19. 160429 vue.js 2 台灣小凡(体验 vuejs 2之随笔)
  20. 单片机控制LED灯长亮

热门文章

  1. Neo4j Desktop 添加算法插件Graph Algorithms
  2. 利用 CSS 实现文字二次加粗和多重边框效果
  3. 将手机投屏到电脑以及用手机实现对电脑的控制
  4. python dlib caffe人脸相似度_基于深度学习的人脸识别系统(Caffe+OpenCV+Dlib)【二】人脸预处理...
  5. 数据成功插入数据库,前端页面却实现404错误 POST http://127.0.0.1:8080/user/register 404 ()
  6. 使用typescript开发集成阿里云短信接口
  7. [解疑][TI]TI毫米波雷达系列(五):恒虚警算法(CFAR)原理
  8. Excel数据分析高级技巧②——数据透视表(组合/切片器/计算字段/数据透视图/条件格式)
  9. Chrome插件开发入门
  10. 目前比较流行的网站开发框架