point vs pixel @1x,@2x,@3x

来源:互联网 发布:正交矩阵的特点 编辑:程序博客网 时间:2024/04/29 13:12

这里写图片描述
在代码中,我们使用point作为长度的单位,point是一个虚拟的尺寸,是实际展示在屏幕上的物理长度的一个换算。

如上图,不同设备的point多少不一样。换算成单位长度的point如下表:
iPhone 4 (320×480 points) = 164.8 points-per-inch
iPhone 5 (320×568 points) = 163.0 points-per-inch
iPhone 6 (375×667 points) = 162.8 points-per-inch
iPhone 6 Plus (414×736 points) = 153.5 points-per-inch
iPad Mini (768×1024 points) = 162.0 points-per-inch
iPad (768×1024 points) = 132.0 points-per-inch

4,5,6的points-per-inch 基本一样,所以实际展示在屏幕上的尺寸也一样;在6+上, points-per-inch = 153.5,所以6+上实际展示的尺寸大长5%左右。
对于同一段代码view.width = 100;
在4,5,6三个设备上展示出来的物理长度比如是3cm,在6+上展示的长度是3*1.05cm


在4以下:1point 对应 1pixel
4,5,6:1point 对应 2pixel
6+:1point对应3pixel(在iOS系统计算时),实际上1point对应2.6pixel(6+会做一个downsampling处理,参考:http://www.paintcodeapp.com/news/iphone-6-screens-demystified)


4以下,使用@1x图,对于100px * 100px的图,系统会把image的size置为100pt * 100pt

4,5,6,使用@2x图,对于100px * 100px的图,系统会把image的size置为50pt * 50pt

6+,使用@3x图,对于100px * 100px的图,系统会把image的size置为33pt * 33pt

所以,如果在4,5,6上,imageView的size若置为50pt * 50pt,使用图片为100px * 100px ,且contentMode不设置为自动拉伸压缩的情况下,如果图片后缀为@2x,则图片显示正常;如果忘记设置,默认为@1x,图片的size会成为100pt * 100pt,展示出来图片尺寸就加倍了;如果设置为@3x,则图片展示会缩小为2/3

这里写图片描述

这里写图片描述

这里写图片描述


0 0
原创粉丝点击