本文主要是介绍dpi px dip dp sp density 以及公式换算 整理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
屏幕尺寸: 是指屏幕对角线的长度,而且单位为英寸( 1英寸=2.54厘米(约) ).
屏幕分辨率: 像素总点数 width*height
屏幕像素密度(dpi):每英寸屏幕上像素的密度
dpi计算公式:
若屏幕分辨率为: 854:480=16:9
勾股定理,对角线应该是 根号(16*16+9*9)=18.36
而对角线物理长度是3.7英寸,
那么480像素那条边的物理长度应该是 3.7*9/18.36=1.81(可自行推导)
那么defy的像素密度就是 480像素/1.81英寸=265像素/英寸=265ppi
px:像素的意思
sp: scaled pixels 缩放像素 用于设置字体
density:就是一个比例值,没有单位, density的值为dpi/160。
其它公式:
px=dp*(dpi/160)=dp*density;
即:density = dpi/160;
dip = (px * 160 )/densityDpi = px / density;
注1:在DisplayMetrics类中属性有: metrics.density; --> density的值为dpi/160,可用于px与dip的互相转换;
metrics.densityDpi; --> densityDpi就是dpi。
注2:
1 dip即为dp;
2 ppi即为dpi;不过ppi是更专业一点叫法
ppi: pixel per inch
dpi:dots per inch
这篇关于dpi px dip dp sp density 以及公式换算 整理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!