dpi计算

概念:

1.屏幕尺寸:手机屏幕对角线长度,单位一般为inch(英寸,")。

2.屏幕分辨率:手机屏幕中的像素点个数,一般表示为 纵向像素点px*横向像素点px,例如 1920*1080px。

3.勾股定理:a2 + b= c

 

计算过程:

1.比如分辨率为480 * 320,则长宽比为1.5 : 1。

2.比如屏幕尺寸为3.6”,则根据勾股定理有:

         高2 + 宽= 3.62

又因为:

         高 = 1.5 × 宽,

代入上式,有:

        宽2 + 2.25 × 宽2 = 12.96,

得出:

       宽 = (12.96/3.25)1/2 = 1.9969

3.宽为320px,分布在1.9969”上,因此密度为320 / 1.9969 = 160.2467

4.因此此密度约为mdpi的密度。

 

有关屏幕密度的一段话:

 

文字图片效果的显示与屏幕实际尺寸无关,

取决于 ROM 指定的像素密度与屏幕真实像素密度之间的关系。

编译 ROM 时会指定像素密度的。

只能指定为以下几个值:

  • ldpi:       120ppi (mdpi x 0.75)
  • mdpi:     160ppi (android 基准 ppi, 1dp=1px)
  • tvdpi:     213.333ppi (xhdpi / 1.5)
  • hdpi:      240ppi (mdpi x 1.5)
  • xhdpi:    320ppi(mdpi x 2)
  • xxhdpi:  480ppi(mdpi x 3)

在生产 android 手机的时候,应当尽量选择与这些 dpi 相接近的像素密度。
屏幕的真实 ppi 如果完全等于这几个指定的 ppi,并且被指定为确定的 ppi,那么相同 sp 的字体,最终显示的物理大小相同。
但如果使用的不是以上一个标准 ppi,那么最终显示的效果与真实大小有差异,具体计算方式如下:
假如屏幕 A 是 440ppi 的,ROM 被指定为 480 ppi,那么屏幕显示的实际上是 480/440=1.09 倍的真实大小。
而另外一块屏幕 B,假定是 340 ppi,ROM 被指定为 320 ppi,那么屏幕显示的实际上是 320/340=0.94 倍的真实大小。
因为 0.94 < 1.09,所以,这块 340ppi 的屏幕 B,实际的字体显示尺寸反而比 440ppi 的屏幕 A 更小。
假定有一块屏幕 C,像素密度是 280 ppi,ROM 被指定为 320 ppi,那么屏幕显示的实际上是 320/280=1.14 倍的真实大小。
因为 1.14 > 1.09 ,这块 280ppi 的屏幕 C,实际的字体显示尺寸比 440ppi 的屏幕 A 更大。
至于手机的屏幕的物理尺寸,它只决定了总共含有多少个 sp,但不决定每个 sp 的大小。决定每个 sp 大小的是手机屏幕的真实像素密度,

以及这款 ROM 被编译时指定的像素密度(对 android 应用程序来说,像素密度只有指定的那几个)。

posted @ 2014-08-19 11:01  大象大象  阅读(1234)  评论(0编辑  收藏  举报