概念梳理
什么是分辨率?
分辨率是决定了图像细节的精细程度;可以细分为显示(屏幕)分辨率、图像分辨率、打印分辨率和扫描分辨率等; 通常情况下,图像的分辨率越高,所包含的像素就越多,图像就越清晰,印刷的质量也就越好。同时,它也会增加文件占用的存储空间。
分辨率 = 水平像素数 x 垂直像素数,举例:iPhone 12 mini,分辨率为:1080 x 2340 描述分辨率的单位有:dpi(点每英寸)、lpi(线每英寸)、ppi(像素每英寸)和PPD(Pixels Per Degree 角分辨率,像素每度)。但只有lpi是描述光学分辨率的尺度的。虽然dpi和ppi也属于分辨率范畴内的单位,但是他们的含义与lpi不同。而且lpi与dpi无法换算,只能凭经验估算。 另外,ppi和dpi经常都会出现混用现象。但是他们所用的领域也存在区别。从技术角度说,“像素”只存在于电脑显示领域,而“点”只出现于打印或印刷领域。
什么是像素?
像素是指由图像的小方格组成的,这些小方块都有一个明确的位置和被分配的色彩数值,小方格颜色和位置就决定该图像所呈现出来的样子,单位:pixel。
- 可以将像素视为整个图像中不可分割的单位或者是元素,像素是没有大小(size)的、是一个抽象概念、是一个相对单位。
- 不可分割的意思是它不能够再切割成更小单位抑或是元素,它是以一个单一颜色的小格存在。
- 每一个点阵图像包含了一定量的像素,这些像素决定图像在屏幕上所呈现的大小。
- 一个像素下由RGBA(红、蓝、绿、透明度)组成。
物理像素(Device Pixel)
物理像素:是设备屏幕(或图像)实际具有的像素数目,设备一出厂就确定的,固定的,是屏幕的最小物理单位。
- 物理像素代表屏幕上有多少个像素点,比如:1080x2340表示屏幕水平方向一排有1080个物理像素点,垂直方向一排由2340个物理像素点。
- 任何设备的物理像素的数量是固定的,即一个设备的分辨率是固定的,且任何一款设备上1物理像素的大小是不会改变的(单位px)。
- 设备的物理像素越大,像素颗粒就越小,不同设备上1物理像素的大小可能是不一样的。
逻辑像素 (Device independent pixel)
逻辑像素也称作设备独立像素,是一个抽象概念,可以理解为屏幕中的一个点(point),这个点代表一个可以由屏幕使用的虚拟像素,用来表示屏幕展示物体的视觉尺寸是多少。
- 逻辑像素相同表示物体看起来或者打印出来大小一样,逻辑像素包含的物理像素点就越多,看起来就越清晰,反之,越模糊。
为什么要有逻辑像素呢?
因为物理像素仅代表像素点的个数,并没有有规定一个点实际的尺寸是多少。假设有一个按钮,宽度用100个物理像素表示,因屏幕物理像素排列方式和密度的差异,不同屏幕上实际的视觉宽度必然不一样。而逻辑像素相同就表示希望按钮在不同屏幕上看起来一样大。
渲染像素
渲染像素,则是系统基于逻辑像素与缩放因子,进行对应倍增(1x、2x 或 3x)而得的结果,大部分情况:与物理像素是相等的。
参考文献
逻辑分辨率、屏幕(物理)分辨率、渲染分辨率的区别
- 逻辑分辨率以point(pt)为单位(大小单位);
- 屏幕(物理)分辨率以pixel(px)为单位(像素点单位);
- 渲染分辨率以pixel(px)为单位。大部分情况:与屏幕分辨率是相等的;
逻辑分辨率 = 宽度逻辑像素数 x 高度逻辑总像素点 物理分辨率 = 宽度物理像素数 x 高度物理总像素点 渲染分辨率 = 宽度渲染像素数 x 高度渲染总像素点
如何区分物理分辨率与逻辑分辨率?
区分逻辑分别率和物理分辨率是因为在早期iPhone 3GS之前,iOS绘制图形以point为单位。在这个时期point和pixel严格对应在一起。在iPhone 3GS上:
1 pt = 1 px
到了iPhone 4开始,苹果引入了Retina屏幕。在一定物理单位内可以显示2倍的像素。iPhone 4的屏幕物理尺寸还是3.5寸,分辨率为640 × 960,提升了4倍。也就是说,原先的1 point可以容纳4个pixel。
到了iPhone 4,逻辑分辨率和物理分辨率的关系就成了:
1 pt = 2 px
缩放因子(scale)
因为逻辑分辨率和物理分辨率存在着一定的比例关系,这种比例的关系称为缩放因子。其对应关系为:
1 pt = scale * px 在iPhone 3GS上,缩放因子为1.0(以“@1x”来表示)。在iPhone 4上,缩放因子为2.0(以“@2x”来表示)。
像素密度PPI
像素密度PPI(Pixel Per Inch)是指每英寸上容纳的像素数量。
计算PPI,可以简单用勾股定理计算出对线上出现的像素,再除以对角线上长度:
将iPhone 4屏幕数据代入公式:
PPI对显示的影响:
我们知道,手机的屏幕是以像素的方式一个一个呈现出来的。PPI值越高,意味着有更细腻的画面。
较低PPI的屏幕看起来有颗粒感。但是当PPI值到达一定程度后,再继续提升肉眼就分别不出来了。
内容转载至:
渲染分辨率是哪个?
举例:5.4 寸 iPhone 12 mini
5.4 寸 iPhone 12 mini 的屏幕分辨率为 1080px × 2340px,PPI 为 476,清晰度位列 iPhone 12 系列第一名。由 iPhone 12 mini 的屏幕分辨率除以比例因子 @3x 得到逻辑分辨率 360pt × 780pt,很多人自然而然地就会以为这就是 iPhone 12 mini 的逻辑分辨率。然而通过已经发布的 Xcode 12.1 GM 版本的模拟器可以查到 iPhone 12 mini 的渲染分辨率(截图的大小)实际为「1125px × 2436px」,比物理分辨率(屏幕的物理参数)放大了 1.04 倍。同当年的 iPhone 6 Plus 一样,Apple 再次使用了一样的变化手法。1125px × 2436px 的渲染分辨率对应的逻辑分辨率为 375pt × 812pt@3x,正是之前 5.8 寸 iPhone 11 Pro 的逻辑分辨率,这样 app 想完美运行在 iPhone 12 mini 上就无需再进行额外的适配工作。但由于像素不是点对点显示的,显示图像可能会有不锐利的问题,但由于其高 PPI 的存在,这个感知不会明显。