Pt 和 Px


来源于 http://reeddesign.co.uk/test/points-pixels.html

Here's a chart that converts points to pixels (and ems and %). It's an approximation, which will depend on font, browser and OS, but it's a good starting point.

Points Pixels Ems Percent
6pt 8px 0.5em 50%
7pt 9px 0.55em 55%
7.5pt 10px 0.625em 62.5%
8pt 11px 0.7em 70%
9pt 12px 0.75em 75%
10pt 13px 0.8em 80%
10.5pt 14px 0.875em 87.5%
11pt 15px 0.95em 95%
12pt 16px 1em 100%
13pt 17px 1.05em 105%
13.5pt 18px 1.125em 112.5%
14pt 19px 1.2em 120%
14.5pt 20px 1.25em 125%
15pt 21px 1.3em 130%
16pt 22px 1.4em 140%
17pt 23px 1.45em 145%
18pt 24px 1.5em 150%
20pt 26px 1.6em 160%
22pt 29px 1.8em 180%
24pt 32px 2em 200%
26pt 35px 2.2em 220%
27pt 36px 2.25em 225%
28pt 37px 2.3em 230%
29pt 38px 2.35em 235%
30pt 40px 2.45em 245%
32pt 42px 2.55em 255%
34pt 45px 2.75em 275%
36pt 48px 3em 300%

为何sketch预置画布尺寸比真实分辨率小?

原因一:

对于px与pt如何转换,涉及原理已经超出本文范围,这里简单的告诉大家,当dpi=160的时候,1dp=1px=1pt(作者经验结论)。那么在这里我们要引出为什么使用375-667这样的尺寸来做设计了,因为在这种情况下,也就是mdpi的分辨率(约320-480) 时,1dp=1px=1pt。

简单来计算下,当分辨率增大,比如增大到640-960px时,在密度不变的情况下,2px=1pt,因为像素点密集了,所以需要更多的点才能充满单位物理尺寸。这也就是为什么我们会觉得iphone4的画面比3GS的画面要细腻的原因,因为dpi(ppi)升高了。(dpi或者ppi为每英寸的点 或者像素,代表密度。)

所以,320这个宽度(3XX)就作为基准宽度,也叫做一倍尺寸沿袭下来。因为使用1作为基数,换算确实方便。

下图是设计稿输出尺寸与分辨率对照表。

jd20150813 (4)

原因二:

对于iOS来说,同样沿袭了这样的概念,与安卓不同,320宽的基准分辨率下导出的素材为@1x,也叫做一倍图。那么在 iphone4,iphone5或者iphone6上使用的图则是@2x,也叫做二倍图,同理,iphone6 plus为@3x三倍图。大家应该都知道对应分辨率与导出图片的对应关系。如果使用640宽或者750宽为基准作图,当然不是不可以,只不过我们在输出@3x图的时候,是不是要乘以1.5呢?如果你一定要用@3x三倍图的分辨率作图,那么最终要生成二倍图的时候,是不是要把输出尺寸乘以三分之二呢?

如果是1.5还好,那么三分之二到底是什么鬼的倍数,0.6666666?有强迫的设计师真的看的过去么?

但是,如果我们使用一倍图设计,那么1X2=@2x,1X3=@3x, 多么的简单方便又容易理解不是么?

再加上sketch是全矢量绘图软件,不管你怎么放大缩小,导出的位图也是不会虚的。

原因三:

在开发工程师眼中,你如果使用640的分辨率作图,那么按原大小标注设计稿中的尺寸的话,他们同样在开发环境中是要换算为一倍尺寸的,比如你标注了字号为40px,那么最终开发工程师写在代码里的就是20pt,除以2的关系。

但是呢,如果使用一倍基准分辨率作图,那么就不用除以2啦,所有尺寸开发工程师直接拿过去随取随用,多么方便简单。相信之前跟随静电的xcode教程做过demo的小伙伴,一定对xcode中的尺寸设定印象深刻对吧。

要了解原理,建议大家用一用xcode,亲自体验一下开发工程师工作的原理,相信你的这些问题都可以迎刃而解。