前言
其实梦想没有长腿,最终逃跑的只有你自己.
先上两张图片这是官方总结文档
(是不是懵逼了有点)没关系,接着往下看....
像素
1. 要知道,屏幕是由很多像素点组成的。之前提到那么多种分辨率,都是手机屏幕的实际像素尺寸。比如480x800的屏幕,就是由800行、480列的像素点组成的。
2. 每个点发出不同颜色的光,构成我们所看到的画面。而手机屏幕的物理尺寸,和像素尺寸是不成比例的。
3. 最典型的例子,iPhone 3gs的屏幕像素是320x480,iPhone 4s的屏幕像素是640x960。刚好两倍,然而两款手机都是3.5英寸的。
所以,我们要引入最重要的一个概念:
像素密度PPI(pixels per inch)
1. Pixels per inch,准确的说是每英寸的长度上排列的像素点数量。1英寸是一个固定长度,等于2.54厘米,大约是食指最末端那根指节的长度。
2. 像素密度越高,代表屏幕显示效果越精细。Retina屏比普通屏清晰很多,就是因为它的像素密度翻了一倍。
倍率与逻辑像素
1. iOS应用的资源图片中,同一张图通常有两个尺寸。你会看到文件名有的带@2x字样,有的不带。其中不带@2x的用在普通屏上,带@2x的用在Retina屏上。只要图片准备好,iOS会自己判断用哪张,Android道理也一样。
2. 由此可以看出,苹果以普通屏为基准,给Retina屏定义了一个2倍的倍率(iPhone 6plus除外,它达到了3倍)。实际像素除以倍率,就得到逻辑像素尺寸。只要两个屏幕逻辑像素相同,它们的显示效果就是相同的。
结论1:
在同样一个尺寸的屏幕下由于使用的屏幕不一样 (retina和非retina),所以造成的屏幕分辨率会不同。也就 是说,同样是30*30的像素,在3.5 inch大小的屏幕上,如 果是非retina显示会大一些, retina屏幕显示会小一些。
结论2:
所以在开发中使用的是点。(比如使用30*30,不 是表示30像素,而是表示30点,这样的话iOS系统会自动 把点转换为对应的像素)。
– 1> 非retina屏幕1个点表示1像素
– 2> retian屏幕1个点表示2像素
– 3> iPhone6 Plus下1个点表示3像素
桌面图标 (app icon)
iPhone6 plus(@3x) : 180 x 180
iPhone 6/5s/5/4s/4(@2x) : 120 x 120
系统搜索框图标 (Spotlight search results icon)
iPhone6 plus(@3x) : 120 x 120
iPhone6/5s/5/4s/4(@2x) : 80 x 80
系统设置图标 (Settings icon)
iPhone6/5s/5/4s/4(@2x) : 58 x 58
iPhone6 plus(@3x) : 87 x 87
启动图片 (launch image)
iPhoen5s/5(@2x) : 640 x 1136
iPhoen4s/4(@2x) : 640 x 960
iPhone 6s/6(@2x) : 750 x 1334
iPhone 6 plus (@3x) : 1242 x 2208
iPhone 6 plus 横屏(@3x) : 2208 x 1242
参考资料:
http://www.jianshu.com/p/adpKye
http://blog.csdn.net/abc__d/article/details/51487810
https://my.oschina.net/u/2252309/blog/402724