八一八那些px、pt、ppi、dpi、dp、sp之間的關(guān)系
![](http://image.woshipm.com/wp-files/img/107.jpg)
做了幾個(gè)移動(dòng)端的項(xiàng)目之后,深感移動(dòng)端尺寸換算的必要性,在此做個(gè)總結(jié)。
先介紹下各自的定義:
- px:pixel,像素,電子屏幕上組成一幅圖畫或照片的最基本單元
- pt: point,點(diǎn),印刷行業(yè)常用單位,等于1/72英寸
- ppi: pixel per inch,每英寸像素?cái)?shù),該值越高,則屏幕越細(xì)膩
- dpi: dot per inch,每英寸多少點(diǎn),該值越高,則圖片越細(xì)膩
- dp: dip,Density-independent pixel, 是安卓開發(fā)用的長(zhǎng)度單位,1dp表示在屏幕像素點(diǎn)密度為160ppi時(shí)1px長(zhǎng)度
- sp: scale-independent pixel,安卓開發(fā)用的字體大小單位。
以下是換算關(guān)系:
一、pt和px
公式一: 1pt= (DPI / 72) px
當(dāng)photoshop中新建畫布的分辨率為72ppi( 即 72dpi時(shí) ), 1pt=1px; 當(dāng)新建畫布分辨率為72*2=144ppi時(shí),1pt=2px
二、ppi和dpi
dpi最初用于衡量打印物上每英寸的點(diǎn)數(shù)密度。DPI值越小圖片越不精細(xì)。當(dāng)DPI的概念用在計(jì)算機(jī)屏幕上時(shí),就應(yīng)稱之為ppi。同理: PPI就是計(jì)算機(jī)屏幕上每英寸可以顯示的像素點(diǎn)的數(shù)量。因此,在電子屏幕顯示中提到的ppi和dpi是一樣的,可認(rèn)為
公式二:dpi=ppi
三、ppi計(jì)算方法
ppi是指屏幕上的像素密度,其計(jì)算方法為:
公式三: ppi= 屏幕對(duì)角線上的像素點(diǎn)數(shù)/對(duì)角線長(zhǎng)度 = √ (屏幕橫向像素點(diǎn)^2 + 屏幕縱向像素點(diǎn)^2)/對(duì)角線長(zhǎng)度
以小米2s為例,該屏幕分辨率為720px*1280px,4.3英寸。則點(diǎn)密度為 √ (720^2 +1280^2) /4.3 = 342ppi。
四、px和dp
dp為安卓開發(fā)時(shí)的長(zhǎng)度單位,根據(jù)不同的屏幕分辨率,與px有不同的對(duì)應(yīng)關(guān)系。
安卓端屏幕大小各不相同,根據(jù)其像素密度,分為以下幾種規(guī)格:
1dp定義為屏幕密度值為160ppi時(shí)的1px,即,在mdpi時(shí),1dp = 1px。 以mdpi為標(biāo)準(zhǔn),這些屏幕的密度值比為: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寸屏算,點(diǎn)密度 √ (480^2 + 800^2) / 3.8 = 245,約等于240,對(duì)應(yīng)于hdpi屏幕,所以該屏幕1dp=1.5px
五、dp和sp
dp和sp都是安卓的開發(fā)單位,dp是長(zhǎng)度單位,sp是字體單位。sp與dp類似,但是可以根據(jù)用戶的字體大小首選項(xiàng)進(jìn)行縮放。Android系統(tǒng)允許用戶自定義文字尺寸大小(小、正常、大、超大等等),
公式五:當(dāng)文字尺寸是“正?!睍r(shí)1sp=1dp,而當(dāng)文字尺寸是“大”或“超大”時(shí),1sp>1dp。
一般情況下可認(rèn)為sp=dp。
總結(jié):由于做設(shè)計(jì)時(shí)以xhdpi為模板,xhdpi條件下,1dp=2px。若新建畫布時(shí),將畫布分辨率設(shè)為144ppi,則1pt=2px=1dp。此時(shí),即可將pt等同于dp。標(biāo)注長(zhǎng)度的時(shí)候,將長(zhǎng)度像素除以2即為dp值。
PS:在photoshop cc中切圖時(shí),可直接在.png 圖片圖層名稱前加上200%獲得2倍大小的圖,其他比例的切圖以此類推。輸出的兩倍圖不模糊的前提是,該圖是photoshop中用形狀工具畫出來(lái)的未被柵格化的圖形,而不是已被柵格化的圖層或外部導(dǎo)入的圖片。
#專欄作家#
Snow,微信公眾號(hào):用戶體驗(yàn)報(bào)告。人人都是產(chǎn)品經(jīng)理專欄作家,東南大學(xué)工業(yè)設(shè)計(jì)研究生,每周更新一篇原創(chuàng)產(chǎn)品體驗(yàn)報(bào)告,分析產(chǎn)品設(shè)計(jì)體驗(yàn)的好壞,以此進(jìn)步。愿與大家共同進(jìn)步。
本文系作者授權(quán)發(fā)布,未經(jīng)許可,不得轉(zhuǎn)載。
像素點(diǎn)、打印點(diǎn)、開發(fā)點(diǎn)。。。和那個(gè)三原色、三基色一樣,一個(gè)是屏幕色,一個(gè)是調(diào)料色
?? ?? ?? ?? ??
在最后總結(jié)的時(shí)候,感覺有點(diǎn)問(wèn)題:
PPI=320,1dp=2px
PPI=144,1pt=2px
所以:1dp=1pt, 如果是這樣的話,條件一個(gè)是ppi為320,一個(gè)是PPI為144,條件不同啊?是不是有問(wèn)題????
PPI=320,1dp=2px
解釋:320指手機(jī)的ppi(dpi),dp/px=ppi/160=320/160=2
PPI=144,1pt=2px
解釋:144是把你的ps設(shè)置成144ppi,pt/px=ppi(ps的ppi)/72=2
所以:1dp=1pt, 如果是這樣的話,條件一個(gè)是ppi為320,一個(gè)是PPI為144,條件不同???是不是有問(wèn)題????
解釋:兩個(gè)ppi表示的事物不同,不是只有手機(jī)屏幕才有ppi,作者前提說(shuō)了做設(shè)計(jì),當(dāng)然會(huì)涉及到ps。
找不到這個(gè)公眾號(hào) 放個(gè)二維碼吧