“此 pt 非彼 pt”
这里说的 pt ,肯定不是“铂金”的缩写啦!它是一个长度单位,是 point 的缩写,但有两种计量单位都用 pt 这个名字!一个是 iOS 开发中用到的长度单位,另一个是指印刷行业中讲的“点”(也被翻译成“磅”),两者不是一回事,此 pt 非彼 pt ~
来看看网上是怎么告诉大家的?



我截了一些屏放上来,篇幅原因没放很多,但你们知道有更多~
相当一部分的中文搜索结果告诉我们 iOS 开发中的长度单位 pt 就是等于 1/72 英寸,既等同于印刷概念里的 pt 。
It's WRONG!不带这么误导人的
iOS 开发中用到的单位 pt 是独立像素的意思,它是绝对长度,不随屏幕像素密度变化而变化(和我们日常用到的毫米、厘米是一个意思,只是它要小得多),在非视网膜的 iPhone 上(iPhone 3G),苹果规定 1px=1pt,也就是说 pt 和像素点是一一对应的。但随着 iPhone 4 的到来,高分屏出现了(视网膜屏),这个时候 1pt 对应 2px。所以用固定长度 pt 作为开发单位的好处是:这样可以统一图形在同一种类不同型号设备上图形的大小。而如果用像素作为单位的话,就乱了套了,因为在不同像素密度的屏幕里面,像素本身大小是不一样的。

图中我们看到 iPhone 3G 和 iPhone 4 的屏幕长宽都是 320*480 pt,而像素长宽却相差两倍(iPhone 3G 480*320,iPhone 4 960*640),所以你理解 pt 的意思了吗?
既然 pt 是个固定尺寸,那么它到底有多长?我们可以通过计算 iPhone 3G 的屏幕像素密度推算出来:

iPhone 3G 的屏幕像素密度是每英寸 163 个像素,而苹果又规定在这种非视网膜的 iPhone 上,1pt=1px,所以我们也可以说每英寸上有 163 个 pt,那么 1pt=1/163 英寸,这就是 iOS 开发中 pt 的长度!约等于 0.16 毫米。
我们再来看看印刷行业中讲的 pt 又是什么?

这里讲的 pt 来自活字排印时代,1pt=1/72 英寸,长度大约是 0.35 毫米。我们常用的设计软件,例如 InDesign、Photoshop 中对于文字大小的描述就是用的这个 pt 作为单位的,国内多把它翻译成“磅”,但这个翻译并不准确,还是用“点”来称呼它合理一些,毕竟文字用“磅”这个重量单位描述,更容易想到的是字重(粗细)而不是大小。
总结
因为,0.16 毫米 ≠ 0.35 毫米;所以,iOS 中的 pt 当然不是我们讲的印刷行业的 pt!不仅数值不同,概念更是不同。大家别再被网上一些不负责任的回答误导了!
ps:iOS 中的 pt 和安卓开发中的单位 dp 本质上是一个概念,都是独立像素的意思,只是叫法不一样而已。

网友评论