Apple裝置中point,磅(pt),pixel的關係與轉換,以及iPhone模擬器與真機的長度關係

來源:互聯網
上載者:User

標籤:style   blog   http   color   2014   re   

  查閱了好多資料都沒有發現有相關的詳細介紹,包括蘋果官方文檔,也是草草帶過。後來是在一個介紹Macbook列印字型的部落格中看到的,受到啟發。 

  首先說明蘋果裝置繪圖的長度單位可以認為是point,不是磅(pt)的意思。該point是一個邏輯概念,是獨立於裝置的。

 

  

圖1.不同解析度螢幕顯示1point

 

  對於傳統常規螢幕,1 point 映射物理螢幕1 pixel。對於Retina的高分屏,1point映射物理螢幕2 pixel。這樣可以統一圖形在同一種類不同型號裝置形的大小。

  所以在開發的時候,不區分常規螢幕還是Retina螢幕,在iPhone(3.5 inch)上都是(480 ,360)在Macbook(13 inch)上都是(1280 ,800)。

  在實際渲染到螢幕上時候,會有個scale 係數將 point 映射到物理 pixel,在傳統螢幕上factor是等於1,Retina螢幕上是等於2,也就是中為什麼線寬為1 point在Retina螢幕上映射線寬為2 pixel。

   對於字型上的磅(pt)轉換到蘋果裝置上的方法。目前還沒有發現直接支援單位為磅的函數。但是可以進行轉換。首先,將pt 和 px單位都統一到英尺

 

pt/72 = inchpixel/dpi = inch

 

   這樣就可以簡單的進行轉換了

pt * dpi / 72 = pixel 

 

 

  對於傳統螢幕,Macbook螢幕的dpi 是96,iPhone螢幕的dpi 是163。對於Retina螢幕,Macbook螢幕的dpi 是192,iPhone螢幕的dpi 是326。但是對於開發來說,繪製的圖形依然是在以point 為單位

 

pt * dpi / 72 * scale = point 

 

 

  最後發現,這也是不區分傳統螢幕還是Retina螢幕的。

  如果要保證Macbook和iPhone上的實際長度相同,肯定不能用相同的point ,需要通過上述的公式進行換算。還有一點注意的是iPhone模擬器是按照Macbook的dpi來的,而macbook的dpi時低於iPhone的,也就是說Macbook的像素點比iPhone的要大,所以iPhone模擬器要比真機要大。在模擬器上的長度會比實際來的短。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.