关于px pt ppi dpi dp sp之间的尺寸换算
一、单位定义
缩写 | 全称 | 解释 | 简述 |
px | pixel | 像素 | 表示一个区域中像素点的多少,比如一个图片分辨率为100px,则表示这个区域中有100*100个像素点。 |
pt | point | 点 | 绝对单位,等于1/72英寸,印刷行业常用单位。 |
ppi | pixel per inch | 每英寸像素数 | 图像的采样率,也叫像素密度。该值越高画面细节越丰富。 |
dpi | dot per inch | 每英寸点数 | 打印分辨率,又称输出分辨率。该数值越大,说明打印机或扫描仪的精度越高。 |
dp | density-independent pixels | 设备无关像素 | 即dip当屏幕每英寸有160个像素时,dp与px等价的dp=dpi/160,dp最终都要化为像素数量来衡量大小的,因为只有像素数量最直观。 |
sp | scale-independent pixels | 缩放独立像素 | 当文字尺寸是“正常”时1sp=1dp,而当文字尺寸是“大”或“超大”时,1sp>1dp。最佳实践,文字的尺寸一律用sp单位,非文字的尺寸一律使用dp单位。 |
A set of six generalized densities(6类广义密度):
ldpi (low) ~120dpi
mdpi(medium) ~160dpi
hdpi(high) ~240dpi
xhdpi(extra-high) ~320dpi
xxhdpi(extra-extra-high) ~480dpi
xxxhdpi(extra-extra-extra-high) ~640dpi
MDPI、HDPI、XHDPI、XXHDPI和XXXHDPI 应按照2:3:4:6:8 的比例进行缩放
二、单位换算
1pt = (dpi / 72) px
ppi = 屏幕对角线上的像素点数/对角线长度 = √(屏幕横向像素点^2 + 屏幕纵向像素点^2) / 对角线长度
dpi = ppi
dpi = px / inch
dp = (dpi / 160)px
参考: