计算出px与dp的关系

墨刀:设备无关像素与分辨率的关系

墨刀中的设备无关像素宽高指的是dip或dp这个单位,而设计师给出的设计稿单位一般为px也就是像素。大家可能会问像素(px)和设备独立像素(dp)有什么区别呢?看一下下面的解释你就懂了~

设备无关像素与分辨率
设备无关像素与分辨率

首先解释一下dip/dp、px的定义吧

px (pixels):像素,就是屏幕上实际的像素点单位。

dip/dp (device independent pixels):设备独立像素,是一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px。

dip产生的缘由

为了兼容各种各样分辨率的设备,让显示效果更完美,Android从1.6开始,加入了设备独立像素dip/dp。

px和dp是有换算公式的,在标准屏幕480*320上,px与dp是1:1。分辨率高的,比如800*480,就要按比例兑换成480*320。

具体的换算计算公式

px = dip * (dpi / 160)

这个公式就很好的解释了上面两个例子:当屏幕密度(dpi)为160时,px = dip。

也可以根据下面的图表计算出px与dp的关系

计算出px与dp的关系
计算出px与dp的关系

结合公式和图表我们可以算出

分辨率为320 x480时,屏幕密度默认值为160,由公式得出px=dp;当分辨率为480 x800时,屏幕密度默认值为240,由公式得出px=1.5dp。

开发者在开发的时候,使用换算后的dp,系统会自动按比例计算为px,从而适配视图。

结论

墨刀正是为了兼容不同屏幕密度显示器的显示情况,才选择了dip/dp这一单位。大家可以将原型制作过程中用到的各种字号尺寸数据记录下来,让开发人员免去换算步骤,工作效率更高。

来源:Tutu

发布者

小旭旭

iOpenV 创始人,80后,从事:项目管理、网站建设方案、网站优化策略;职务:网站管理员、部门主管、技术总监、经理。

发表评论

电子邮件地址不会被公开。 必填项已用*标注