4

Cocoa アプリケーションでは、画像の 16x16 および 32x32@2xバージョンがあります: 小さな ここに画像の説明を入力. 画像が NSImageView で表示されるとき、Mac OS Xは常に高解像度バージョンを選択します (つまり@2x、非 Retina ディスプレイでは 1:1 バージョンを使用する代わりに画像を縮小します)。

間違ったイメージ
(左側の IB = 良好、右側の実行中のアプリ = ダウンスケールされた混乱)

もちろん、両方の画像をプロジェクトに追加しました( と としてimage.pngimage@2x.png

アプリ バンドルから画像を削除すると@2x、OS X は低解像度の画像を表示します。

このバグは、Xcode (4.6.2) がそれらを .tiff に結合するかどうかに関係なく発生します (結合された .tiff に両方の画像が含まれていることを確認しました)。

奇妙なことに、これはこの特定の画像でのみ発生します。同じプロジェクト内の他の 1x/2x 画像は、画面 DPI に一致して正しく表示されます。

そんなことがあるものか?!画像は、サイズとファイル名のパターン以外の特別な基準を満たす必要がありますか?

4

2 に答える 2

5

謎が解けました: OS X は混合タイプの PNG を好みません。

$ file *.png
image.png: PNG image data, 16 x 16, 8-bit gray+alpha, non-interlaced
image@2x.png: PNG image data, 32 x 32, 8-bit colormap, non-interlaced

両方のファイルが同じカラー モードを使用するように強制されている場合 (つまり、両方ともグレーまたは両方ともパレット)、OS X は画像を正しく選択します。

于 2013-05-21T00:43:46.450 に答える