畫素密度計算

2021-09-09 05:19:31 字數 2179 閱讀 7258

為解決android裝置碎片化,引入乙個概念density,也就是密度.它指的是在一定尺寸的物理螢幕上顯示畫素的數量,一般使用dpi(dots per inch,每英吋畫素數)作為單位.

比如裝置解析度為240x320,螢幕物理尺寸為1.5英吋x2英吋(對角線為2.5), 它的密度可以用解析度/尺寸表示:240/1.5或者即320/2,密度為160dpi。 算對角線也是一樣的,

長的平方+寬的平方=160000,開方後=400.可知400/2.5=160.

對於使用者來說,密度越大的螢幕顯示效果越精細,因為每英吋顯示的畫素數量更多。  

以上的描述就是乙個藍本(此藍本對應於mdpi). 按照此藍本乙個dp相當於160dpi螢幕中的乙個px.同理在,在320dpi的螢幕中,乙個dp相當於2個px.   通過這樣的成比例放縮,android解決了需要多個不同螢幕中的大小顯示問題.   所以在eclipse的布局檔案中,以3.7in wvga(nexus one)(480x800)為例,可以看見其為sw320dp,h533dp.   即寬有320dp,高為533dp.   是怎麼計算出來的呢?   將(480的平方+800的平方)開方=932.9523031   然後932.9523031/螢幕尺寸3.7=252.14927,此結果為此手機的螢幕密度.

然後按照上面的藍本,就應該要計算在該手機上1dp對於多少px.計算如下: 160 1dp=1px   252.14927 1dp=?px   

結果為:   252.14927/160=1.5759329  

注意:   在此一般不取1.5759329,只取到1.5即可.   所以:480/1.5=320;800/1.5=533.3333(通常取為533),即上述的sw320dp,h533dp.

手機螢幕密度的對應關係 :

120上下浮動的都屬於ldpi   160上下浮動的都屬於mdpi   240上下浮動的都屬於hdpi   320上下浮動的都屬於xdpi   

以摩托羅拉me525+(3.7英吋 解析度854x480畫素)為例:   將(480的平方+854的平方)開方=979.6509   然後979.6509/螢幕尺寸3.7=264.770529,此結果為此手機的螢幕密度.對應為hdpi   264.770529/160=1.6548   即在此手機中1dp=1.6548個畫素,只取到1.6即可   所以:480/1.6=300;854/1.6=533.75(通常取為533)   按照這個邏輯,算出來的寬應該是只有300dp.悲劇的是,如果某個控制項的寬為300,在此手機上是不能鋪滿手機的寬的.   也就是說除以的不是1.6而還是1.5!!!所以將寬設定為320即可   總結:在hdpi中,畫素轉換為dp統一用的是:畫素/1.5;

以聯想k860(5.0英吋,解析度1280x720畫素)為例:   將(1280的平方+720的平方)開方=1468.60478   然後1468.60478/螢幕尺寸5=293.720,此結果為此手機的螢幕密度.對應為xdpi   293.720/160=1.8357   即在此手機中1dp=1.8357個畫素   所以:1280/1.8357=697.281;720/1.8357=392.22   按照這個邏輯,算出來的寬應該是392.22.悲劇的是,如果某個控制項的寬為392.22,在此手機上是顯示不完全的.   也就是說除以的不是1.8而是2!!!所以將寬設定為360即可   

總結:在xdpi中,畫素轉換為dp統一用的是:畫素/2

注意問題1:   在建立模擬器的時候注意   854x480在hardware中,應該將abstracted lcd density設定為240,並手動輸入解析度   1280x720在hardware中,應該將abstracted lcd density設定為320,並手動輸入解析度   

注意問題2:   多個layout資料夾在命名上有相應規則,以解析度480x854為例,需要建立480x854畫素的layout資料夾,命名:layout-854x480,有兩點需要注意:①大數(854)必須在前,   否則會報錯;②兩個數字之間的符號是小寫英文本母「x」,不是乘號

每英吋畫素(10802280 5.84寸)=(10801080+2280*2280 )^0.5 =2522(對角線長度) ,畫素密度=2522/5.84=431.9dpi 對應為xxhdpi 431.9/160= 2.69 (乙個dp=2.69個畫素) ,1080/2.69=401

280/2.69=847 ,控制項寬為401,在手機上是顯示不完全的,也就是說除以的不是2.69而是3,因此寬為360高為760。總結:在xxhdpi中,畫素轉換為dp統一用的是:畫素/3

缺陷密度計算方法

缺陷密度 基本的缺陷測量是以每千行 的缺陷數 defects kloc 來測量的。稱為缺陷密度 dd 其測量單位是 defects kloc 缺陷密度 缺陷數量 行或功能點的數量。可按照以下步驟來計算乙個程式的缺陷密度 1.累計開發過程中每個階段發現的缺陷總數 d 2.統計程式中新開發的和修改的 行...

ArcGIS空間統計 點密度計算

很多時候,對於點事件資料,同分析與事件點相關聯的任意特定值的空間聚類相比,我們可能對評估事件的點密度更感興趣。或者,我們需要 統計格網或者區域內的點數或者屬性值總和 這就需要用到acrgis的空間連線工具 輸入 帶統計的點,或者帶要統計的屬性值 輸出 面狀要素,含有統計的點數,或者屬性值的統計資料 ...

Android手機的畫素密度(dpi)計算

1 解析度。解析度就是手機螢幕的畫素點數,一般描述成螢幕的 寬 高 安卓手機螢幕常見的解析度有480 800 720 1280 1080 1920等。720 1280表示此螢幕在寬度方向有720個畫素,在高度方向有1280個畫素。2 螢幕大小。螢幕大小是手機對角線的物理尺寸,以英吋 inch 為單位...