2012-08-23 71 views
1

我有一個編程方式創建UIImage的圖像,使用這種代碼:的UIImageView內容模式和比例因子

UIGraphicsBeginImageContextWithOptions(CGSizeMake(128, 128), NO, 0.0f); 
// Render in context 
UIImage *resultImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

由於我的上下文選項中指定的0刻度,在視網膜顯示設備將被設置爲2,和我可以證實,在產生的UIImage規模財產。現在

,問題是這個圖像大小爲128x128,規模2.當我把它變成的UIImageView尺寸64×64和contentMode =中心的,它使我的形象之外的ImageView,想必渲染爲128×128盒沒有任何縮放。

我對視網膜圖形的理解是,如果圖像具有比例因子2.0,則它應該呈現1/2尺寸,從而導致更高的DPI。 所以我期待圖像視圖呈現視網膜質量的64x64圖像。我錯在哪裏?

回答

0

圖像將以您提供的尺寸進行渲染 - 128 x 128.比例因子意味着您將獲得更好的渲染曲線等,但圖像仍然是128 x 128點。如文檔中所述,尺寸參數是:

大小新的位圖上下文(在測量)。這表示由UIGraphicsGetImageFromCurrentImageContext函數返回的圖像的大小。

如果您想要視網膜質量的64x64圖像,請爲您的上下文使用64x64大小。

+0

謝謝。請問您如何快速發現這個問題?我努力延遲RSS feed –

+0

剛剛出現在主頁上時,它出現了。我不使用RSS提要,並且設置了我最喜歡的和被忽略的標籤。 – jrturton