前几篇里面有提到分辨率这个词儿,今天这篇就来讲讲容易混淆的几个概念。

就拿小米新出的全面屏MIX2来说,看我从官网上截取的屏幕相关配置信息。

xiaomi mix2

屏幕尺寸

大家都知道屏幕是个长方形,一般从对角线长度来表示屏幕大小。比如MIX2的屏幕尺寸就是5.99英寸。

1 英寸 = 2.54 厘米

屏幕分辨率

屏幕分辨率指的就是屏幕上显示的像素个数。小米MIX2屏幕的长边和短边上的像素个数分别是2160和1080,那么整块屏幕上的像素个数就是2160*1080,那么对角线上的像素个数就是1080 * √5

屏幕像素密度

屏幕密度也就是每英寸像素的个数,即Pixels Per Inch,缩写为PPI,那么小米MIX2的PPI就是

(1080 * √5) / 5.99 ≈ 403.16

符合小米MIX2官网上缩写的403 PPI

可想而知,PPI越大,表明每英寸上面的像素越多,也就表明可以表示的颜色越多,图片就更加清楚


上面几个概念讲清楚之后,下面再来说说苹果的Retina显示屏

Retina这种技术主要就是在一个屏幕里面塞入更多的像素,提高PPI。也从侧面表示出,像素是没有固定大小的。

就拿我从苹果官网上截图来看,iMac有Retina和非Retina屏幕之分

ima screen

可以看到,同样大小(同样对角线长度)的屏幕上,分辨率不一样,最终显示的效果估计大家也都知道。


再来看看实际开发中可能用到的几个概念

  • px

    • pixel即像素点。一般UI给的图上标注都是px的
  • ppi

    • pixel per inch,每英寸像素数,屏幕像素密度,该值越高,屏幕越细腻
  • dpi

    • dot per inch,每英寸多少点。该值越高,图片越细腻。可以认为dpi等于ppi
  • dp

    • dip(density independent pixels)。Android里面的长度单位,1dp表示在屏幕像素点密度为160ppi时1px的长度。1dp = (屏幕密度ppi/160)px
  • sp

    • scale independent pixels. Android开发里面字体大小单位,一般情况下sp=dp,但是sp可以根据用户的字体大小首选项进行缩放。
  • pt

    • point,iOS开发单位。1pt=(DPI/72)px,当屏幕密度为72ppi的时候,1pt=1px,当屏幕密度为144ppi的时候,1pt=2px