关于PPI、DPI、Pixel、DIP等名词的解释
Pixel是衡量图片尺寸的常用单位,在软件开发中,要呈现多大的图片,经常用Pixel来做衡量单位。在Retina时代以前,这样的做法基本上都适用。然而在今天,面对不同像素密度的显示器,这样的做法不是很妥当了。
像素 Pixel/PX
像素有2个概念,一个是抽象层面的,一个是设备层面的。抽象层面的像素依赖于软件层,也就是系统的分辨率、游戏的分辨率。那么在软件开发中使用的像素单位,一般是指软件层,可以有小数点。
像素密度 PPI
像素密度用来衡量一个显示设备的精细程度。同样是1024*768的分辨率,用在14寸的电脑上,像素密度就要低于在4寸的手机上。一般来说,使用PPI来衡量像素密度。PPI(Pixel Per Inch),即每英寸的像素个数。算法为:
像素密度(PPI) = 像素总数 / 屏幕尺寸(Inch)
点像素 DPI
在打印设备上,衡量打印对象的单位是点,而非像素。点和像素不一定是一一对等,可以调整。在这种情况下,产生了另一个衡量单位,点密度(DPI),也就是每英寸多少点(Dot Per Inch)。
设备无关像素 DIP/DP
为了克服不同像素密度下不同的像素单位的缺点,于是就有了DIP(Device Independent Pixel)方案。DIP与PIXEL之间的关系如下:
DIP = PIXEL * 160/DPI
PIXEL = DIP * DPI/160
在这里,DPI实际上为PPI。
设定一个图片的大小为1DIP * 1DIP,那么在像素密度160的设备上,最终的像素为1 * 1。如果在像素密度200的设备上,像素为1.25 * 1.25。
苹果设备
苹果目前使用不同的像素去对应不同的像素密度设备,一般用@1x、@2x、@3x来表示图片用在哪个像素密度的设备上。
安卓设别
安卓设备目前使用以下几个词来表示: ldpi(120)、mdpi(160)、hdpi(240)、xhdpi(320)、xxhdpi(480)来表示该文件夹下的图片使用在哪个像素密度的设备上。