八一八那些 px、pt、ppi、dpi、dp、sp 之间的关系做了几个移动端的项目之后,深感移动端尺寸换算的必要性,在此做个总结
先介绍下各自的定义:px:pixel,像素,电子屏幕上组成一幅图画或照片的最基本单元pt: point,点,印刷行业常用单位,等于 1/72 英寸ppi: pixel per inch,每英寸像素数,该值越高,则屏幕越细腻dpi: dot per inch,每英寸多少点,该值越高,则图片越细腻dp: dip,Density-independent pixel, 是安卓开发用的长度单位,1dp 表示在屏幕像素点密度为 160ppi 时 1px 长度sp: scale-independent pixel,安卓开发用的字体大小单位
以下是换算关系:一、pt 和 px 公式一: 1pt= (DPI / 72) px 当 photoshop 中新建画布的分辨率为 72ppi( 即 72dpi 时 ), 1pt=1px; 当新建画布分辨率为 72*2=144ppi 时,1pt=2px二、ppi 和 dpi dpi 最初用于衡量打印物上每英寸的点数密度
DPI 值越小图片越不精细
当DPI 的概念用在计算机屏幕上时,就应称之为 ppi
同理: PPI 就是计算机屏幕上每英寸可以显示的像素点的数量
因此,在电子屏幕显示中提到的 ppi 和 dpi是一样的,可认为 公式二:dpi=ppi三、ppi 计算方法 ppi 是指屏幕上的像素密度,其计算方法为: 公式三: ppi= 屏幕对角线上的像素点数/对角线长度 = √ (屏幕横向像素点 + 屏幕纵向像素点)/对角线长度 以小米 2s 为例,该屏幕分辨率为 720px*1280px,4
则点密度为 √ (720 +1280) /4
3 = 342ppi
四、px 和 dp dp 为安卓开发时的长度单位,根