Android DPI

先介绍术语
分辨率 比如小四的retina是960*640   galaxy note是1280*800 galaxy s2 hd lte是1280*720
尺寸 是指屏幕对角线长短 单位英寸 即吋 小四的retina是3.5 galaxy note是5.3  galaxy s2 hd lte是4.65
像素密度 dpi dots per inch缩写 即美英寸多少点
屏幕比例 屏幕长宽之比 小四的retina是3:2  galaxy s2 hd lte是16:9 这是安卓720p屏幕的标准比例关系

小四的retina
用勾股定理计算边长
(2x)*(2x)+(3x)*(3x)=3.5*3.5
x*x=3.5*3.5/13
x=0.9707
那么retina 屏幕 长度 3*0.9707 2.9121吋 宽度 2*0.9707 1.9414吋
                         dpi 960/2.9121 329.65dpi
苹果官方公布是326dpi 那么retina屏幕实际大小应该是3.53吋才能合理解释

假设横竖像素是等比例关系 那么dpi计算公式简化成
dpi=(√(横向分辨率^2+纵向分辨率^2))/屏幕尺寸
计算得出各种尺寸720p屏幕dpi值:

1280*720 4.00吋 367.15dpi
1280*720 4.30吋 341.53dpi
1280*720 4.50吋 326.34dpi
1280*720 4.65吋 315.83dpi
1280*720 5.00吋 293.72dpi
1280*800 5.30吋 284.80dpi

分辨率肯定越高显示效果越好 但是如果屏幕过小 像素密度超过人眼分辨能力就浪费了 人眼分辨能力其实是指视角 就是像素点距除以像素点到人眼虹膜的距离 密度小离眼睛远点就能达到同样效果 而且眼部肌肉会更放松 手持设备公认视网膜分辨极限是300dpi



如何计算屏幕DPI呢?

只要我们知道屏幕分辨率屏幕尺寸(对角线长度),就可以算出相应的屏幕密度,从而根据其范围得出属于那种屏幕密度。

我们可以根据长或者根据宽来计算出dpi,计算公式为:

DPI = 宽 / ((尺寸× 宽2) / (宽2 + 高2))1/2 = 长 / ((尺寸× 高2) / (宽2 + 高2))1/2

 

大概计算方法如下,以宽为例:

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

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的密度



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章