ios開發遇到的解析度問題

2021-08-02 00:24:00 字數 1393 閱讀 8952

px,即是pixel,表示畫素。是螢幕上所顯示的最小單位,在解析度高的螢幕上,乙個畫素可能會達到肉眼無法識別的大小,

pt,即是point,是乙個標準的長度單位,定義上1pt = 1/72英吋,英吋他跟我們所熟悉的公分、公尺一樣,可以明確的指出1pt的長度是多少,

pt也是常見的標識文字尺寸的單位,在繪圖以及文書軟體等幾乎都是使用pt作為字型標尺的單位,故一般稱呼[字級]時候,通常即是指pt。

pt和px理解起來其實並不難,在應用的時候也相當單純,在大部分的情況下適用的乙個理論是:當設計的目的是用於供螢幕瀏覽,則趨向於使用px以方便掌握細節;而如果是為了做輸出列印的需求,使用pt則是較好的選擇。

在iphone 3gs時代,解析度和點是1:1,到了iphone 4,解析度和點是2:1的關係,而在iphone 6 plus裝置上,解析度和點事3:1,所以為了方便開發人員開發,ios中統一使用點(point)對介面元素的大小進行描述,這樣解析度的差異對於開發者來說就不是問題了,在開發層面來說,開發者無需進行解析度和點的單位換算,完全感覺不到點和解析度的差異。

當我們說乙個iphone裝置的解析度時候,實際上我們是用的pt(點)作為描述解析度的單位;當我們和ui討論的尺寸時候,實際說的是px(畫素)來作為描述的單位。

4. iphone 6/6s plus解析度是1242 x 2208,為何渲染後解析度變為1080 x 1920?

iphone 6 plus除外,其他所有iphone的ppi是一致的,都是326,用@2x素材。

但是iphone 6 plus的實際ppi是401,理論上蘋果應該用401 / 326 x @2x = @2.46x的素材,但是這個奇葩的臂力對於開發者而言很難切圖,所以蘋果為了方便開發者就採用了@3x的素材,然後再縮放到@2.46x的螢幕上,也就是縮放到2.46 / 3 = 83%,實際上蘋果選取了乙個接近比例的87%。這樣算下來,物理解析度和虛擬解析度的比率是87%,也就是1080 / 0.86 = 1242,1920 / 0.87 = 2208。好處是開發者更方便,比如準備素材時候,字型大小可以直接調整為3x的。

對於iphone 6 plus之前的手機,pt和px的比例是1:2,而iphone 6 plus出來之後,這一比例達到了1:3,同時解析度達到了1242 x 2208(使用iphone 6 plus截圖,再上傳到電腦看,就是這個解析度),而iphone 6 plus實際解析度為1080 x 1920,解析度的比率為1.15:1。對於ppi,iphone 6 plus之前均為326,而之後變為401。

素材資源發生的變化@3x,在實際開發中,素材通常是ui美眉負責提供,從@2x到@3x,素材的解析度提高了1.5倍,例如乙個@2x的素材大小為44x44,那麼響應的@3x大小解析度為66x66,檔案命名的方式依然沒變,$(img_name)@3x.png,命名好的檔案丟入資源資料夾內,只要**報紙一直,檔名稱不變即可。

參考部落格:

iOS開發 解析度

ios解析度 點,畫素,物理畫素,裝置顯示 如上圖所示,iphone4 4s,iphone5 5s,iphone6 在將基於點 point 的影象渲染為畫素 pixel 時 這個過程被稱為柵格化 選擇的比例係數為2x 點座標和比例係數相乘,得到畫素座標。iphone6p的柵格化比例係數為3x,更高的...

ios 解析度全集

裝置名稱 螢幕尺寸 解析度ppi 每英吋畫素數量 高寬比iphone 3.5英吋 320 x 480畫素 163 ppi 3 2iphone 3g 3.5英吋 320 x 480畫素 163 ppi 3 2iphone 3gs 3.5英吋 320 x 480畫素 163 ppi 3 2iphone ...

IOS解析度大全

iphone解析度引數 型號 螢幕尺寸 解析度iphone 3.5英吋 480x320畫素 iphone 3g 3.5英吋 480x320畫素 iphone 3gs 3.5英吋 480x320畫素 iphone 4 3.5英吋 960x640畫素 iphone 4s 3.5英吋 960x640畫素 ...