px pt ppi dpi dp sp 之間的關係

2021-08-20 20:34:06 字數 1570 閱讀 3207

做了幾個移動端的專案之後,深感移動端尺寸換算的必要性,在此做個總結。

先介紹下各自的定義:

以下是換算關係:

公式一: 1pt= (dpi / 72) px

當photoshop中新建畫布的解析度為72ppi( 即 72dpi時 ), 1pt=1px; 當新建畫布解析度為72*2=144ppi時,1pt=2px

dpi最初用於衡量列印物上每英吋的點數密度。dpi值越小越不精細。當dpi的概念用在計算機螢幕上時,就應稱之為ppi。同理: ppi就是計算機螢幕上每英吋可以顯示的畫素點的數量。因此,在電子螢幕顯示中提到的ppi和dpi是一樣的,可認為

公式二:dpi=ppi

ppi是指螢幕上的畫素密度,其計算方法為:

公式三: ppi= 螢幕對角線上的畫素點數/對角線長度 = √ (螢幕橫向畫素點^2 + 螢幕縱向畫素點^2)/對角線長度

以小公尺2s為例,該螢幕解析度為720px*1280px,4.3英吋。則點密度為 √ (720^2 +1280^2) /4.3 = 342ppi。

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是字型單位。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中用形狀工具畫出來的未被柵格化的圖形,而不是已被柵格化的圖層或外部匯入的。

博學之,審問之,慎思之,明辨之,篤行之

禮記 中庸 十九章有云 博學之,審問之,慎思之,明辨之,篤行之。這說的是為學的幾個層次,或者說是幾個遞進的階段。博學之 意謂為學首先要廣泛的獵取,培養充沛而旺盛的好奇心。好奇心喪失了,為學的慾望隨之而消亡,博學遂為不可能之事。博 還意味著博大和寬容。惟有博大和寬容,才能相容幷包,使為學具有世界眼光和...

接觸之,熟悉之,打破之

接觸之,熟悉之,打破之 拿破崙小時候就是孩子王,不管同夥伴們玩什麼遊戲,它總是贏家。同時,它更善於改變遊戲規則,以便能夠發揮他自己的優勢。如果能夠成為遊戲規則的左右者,那麼,在當今商戰中必定是最大的贏家。我們處在乙個有著各種各樣遊戲規則的大環境中,每時每刻都要面對不同的遊戲規則,轉換不同的角色,讓自...

手之舞之,足之蹈之

我知道,你認為我在講述天方夜譚。沒有哪個程式設計師可以這樣奢侈,可以這樣幸運。不錯,這確乎是我的幻想。不可求,不可遇。然而,書卻可以擁有這樣的魔力,可以讓這樣的幻想得到實現。感謝richard monson haefel薈萃了這樣乙個團隊,並將他們帶到每乙個讀者身邊,那就是這本薄薄的小書 軟體架構師...