定義:
- px:pixel,像素,電子屏幕上組成一幅圖畫或照片的最基本單元
- pt: point,點,印刷行業常用單位,等於1/72英寸
- ppi: pixel per inch,每英寸像素數,該值越高,則屏幕越細膩
- dpi: dot per inch,每英寸多少點,該值越高,則圖片越細膩
- dp: dip,Density-independent pixel, 是安卓開發用的長度單位,1dp表示在屏幕像素點密度爲160ppi時1px長度
- sp: scale-independent pixel,安卓開發用的字體大小單位。
以下是換算關係:
一、pt和px
公式一: 1pt= (DPI / 72) px
當photoshop中新建畫布的分辨率爲72ppi( 即 72dpi時 ), 1pt=1px; 當新建畫布分辨率爲72*2=144ppi時,1pt=2px
二、ppi和dpi
dpi最初用於衡量打印物上每英寸的點數密度。DPI值越小圖片越不精細。當DPI的概念用在計算機屏幕上時,就應稱之爲ppi。同理: PPI就是計算機屏幕上每英寸可以顯示的像素點的數量。因此,在電子屏幕顯示中提到的ppi和dpi是一樣的,可認爲
公式二:dpi=ppi
三、ppi計算方法
ppi是指屏幕上的像素密度,其計算方法爲:
公式三: ppi= 屏幕對角線上的像素點數/對角線長度 = √ (屏幕橫向像素點^2 + 屏幕縱向像素點^2)/對角線長度
以小米2s爲例,該屏幕分辨率爲720px*1280px,4.3英寸。則點密度爲 √ (720^2 +1280^2) /4.3 = 342ppi。
四、px和dp
dp爲安卓開發時的長度單位,根據不同的屏幕分辨率,與px有不同的對應關係。
安卓端屏幕大小各不相同,根據其像素密度,分爲以下幾種規格:
1dp定義爲屏幕密度值爲160ppi時的1px,即,在mdpi時,1dp = 1px。 以mdpi爲標準,這些屏幕的密度值比爲:ldpi : mdpi : hdpi : xhdpi : xxhdpi = 0.75 : 1 : 1.5 : 2 : 3;即,在xhdpi的密度下,1dp=2px;在hdpi情況下,1dp=1.5px。其他類推。
公式四: 1dp=(屏幕ppi/ 160)px
以WVGA屏爲例,該屏幕爲480px*800px,按3.8寸屏算,點密度 √ (480^2 + 800^2) / 3.8 = 245,約等於240,對應於hdpi屏幕,所以該屏幕1dp=1.5px
五、dp和sp
dp和sp都是安卓的開發單位,dp是長度單位,sp是字體單位。sp與dp類似,但是可以根據用戶的字體大小首選項進行縮放。Android系統允許用戶自定義文字尺寸大小(小、正常、大、超大等等),
公式五:當文字尺寸是“正常”時1sp=1dp,而當文字尺寸是“大”或“超大”時,1sp>1dp。
一般情況下可認爲sp=dp。
總結:由於做設計時以xhdpi爲模板,xhdpi條件下,1dp=2px。若新建畫布時,將畫布分辨率設爲144ppi,則1pt=2px=1dp。此時,即可將pt等同於dp。標註長度的時候,將長度像素除以2即爲dp值。
PS:在photoshop cc中切圖時,可直接在.png 圖片圖層名稱前加上200%獲得2倍大小的圖,其他比例的切圖以此類推。輸出的兩倍圖不模糊的前提是,該圖是photoshop中用形狀工具畫出來的未被柵格化的圖形,而不是已被柵格化的圖層或外部導入的圖片。
轉自:http://www.woshipm.com/pmd/176328.html