2013-05-20 169 views
4

在可可應用程序中我有16x16和32x32 @2x版本的圖像:smallenter image description here。當圖像顯示在NSImageView Mac OS X 中時,總是選擇更高分辨率的版本(即在非視網膜顯示器上縮小@2x圖像,而不是使用1:1版本)。視網膜版本的圖像總是用在非視網膜顯示

wrong image
(IB左側=良好,運行在合適的應用程序=縮小的爛攤子)

當然我有兩個圖像添加到項目中(如image.png[email protected])。

如果我從應用程序包中刪除@2x圖像,則OS X將顯示較低分辨率的圖像。

無論Xcode(4.6.2)是否將它們組合成.tiff或不是(我已檢查組合的.tiff是否包含這兩個圖像),都會發生此錯誤。

奇怪的是,這隻發生在這個特定的圖像。同一項目中的其他1x/2x圖像與屏幕DPI正確顯示。

這怎麼可能?圖像是否必須符合大小和文件名模式以外的特殊標準?

回答

5

神祕解決:OS X不喜歡混合類型的PNG。

$ file *.png 
image.png: PNG image data, 16 x 16, 8-bit gray+alpha, non-interlaced 
[email protected]: PNG image data, 32 x 32, 8-bit colormap, non-interlaced 

如果兩個文件被強制使用相同的顏色模式(即兩個灰色或兩者調色板),那麼OS X正確地選擇圖像。

+2

我有同樣的問題,但我的圖像具有相同的類型。 – MatterGoal

相關問題