iOS 切圖使用 分辨率 使用 相關總結
疑問:
就iphone來說分辨率有三種,320*480、 640*960、 640*1136
那么如果我想做圖,如果是320*480
1、是不是所有的圖片,比如按鈕的,背景圖的,尺寸都必須做成小于或等于320*480的分辨率,
2、是否可以做一張大圖在320*480中的分辨率中使用
3、如果是ipad的話是不是圖片的分辨率要相應的提高
解答
只需要做 320*480 640*960的兩套圖
大圖名字后面加@2x
例如:aaa.png是小圖(320*480)
aaa@2x.png就是大圖(640*960)
只要名字這樣起,系統會自動識別設備,用相應的圖片。
如果是iphone5也是用640*960的圖片,只不過要在工程配置文件里加一個iphone5對應分辨率的開機圖就可以啦
詳解
iPhone/iPod Touch
普屏分辨率 320像素 x 480像素
Retina分辨率 640像素 x 960像素
iPad,iPad2/New iPad
普屏 768像素 x 1024像素
Retina屏 1536像素 x 2048像素
首先我們需要明確一點,iOS設備上圖片兼容retina的問題最初是由于iPhone4的分辨率由iPhone3的320X480提升到了640X960所產生。
為了讓iPhone4能夠兼容iPhone3上開發的APP,蘋果設計了邏輯分辨率單位Point。在 iPhone3 上 1個 Point 相當于 1個pixel ; 而 iPhone4 上1個 point 就相當于4個 pixel。因此所有的iPhone,iTouch都可以認為擁有320X480的邏輯分辨率,這保證了所有的APP不經過修改也能正常的在高分辨率的設備上運行,只是原來的圖片會在拉伸后顯示在設備上,會影響美觀。
開發人員在開發過程中如何避免此種情況發生呢?
1.UI靜態加載圖片的情況下
作為開發人員的我們需要美術人員提供兩套圖片,一套適應320X480分辨率,另一套適應640X960分辨率。
比如需要使名字為“background.png”,大小為220X350的圖片兼容retina,那么就需要美術人員提供一張440X700的圖片,我們將其名稱命名為“background@2x.png”之后添加到項目中即可。如此,我們直接使用程序中原來的代碼就可以達到目的。
[UIImage imageNamed:@"background.png"];
2.如果APP中使用從網絡異步獲取的圖片來顯示或者是游戲中動態生成圖片后顯示,則需要在代碼中加入對不同設備、屏幕分辨率的判斷來獲取或者生成不同大小的圖片
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] == 2) { // 獲取或者加載高清圖片 } else { // 獲取或者加載普通圖片 }
posted on 2014-01-10 11:18 ACM_Someone like you 閱讀(1378) 評論(0) 收藏 舉報

浙公網安備 33010602011771號