NSImageの描画サイズが変なとき

Preview.appで表示した場合と、自作アプリのNSImageViewで表示した場合とで画像がことなることがある。それはもしかしたらファイルに埋め込まれている解像度の情報がおかしいのかもしれない。

そんなときは、NSImageRepのpixelsHighpixelsWideを使って適当なサイズを取り出して元のNSImageにsetSize:してやるとうまくいくことがある。

詳しくはDuke on Cocoaの「画像サイズとdpi」を参照。まだ詳しく読んでない。