私のようなアプリケーションでは、NSImageクラスを使用して画像を読み込んでいます。すべての画像でNSImageが機能しない
if let image = NSImage(contentsOfURL: openPanel.URL!) {
...
}
ほとんどの画像でうまくいきます。私はそれをCGImageに変換し、好きなように使います。しかし、いくつかの画像ではそれは単に不具合があり、私は理由を理解できません。たとえば、イメージサイズ2133x2133
をロードすると、何も表示されず、image.size
を印刷している場合は、非常に奇妙な(511.92, 511.92)
が表示されます。
どのような種類の動作が発生する可能性がありますか?すべての画像はPNG形式です。同時に、私はサイズ(2048.0, 1536.0)
とイメージをロードすることができ、すべて正常に動作します。
どのようにNSImageによる読み込みデバッグを開始する必要がありますか?
これは、画像の一例です:
http://rgho.st/6CVKMR2ZM/image.png
私はこのFUNCを使用しているからCGImageを作成するときに、私は何も見えません。ここで
var imageRect = CGRectMake(0, 0, newImage.size.width, newImage.size.height)
let imageRef = newImage.CGImageForProposedRect(&imageRect, context: nil, hints: nil)
これは、動作しない画像ファイルの例を教えていただいた場合に役立ちます。 –
これは奇妙なことではないが、それは300ピクセル/インチの画像DPI設定を有する2133x2133画像である。 (2133/300 = 7.11インチ* 72ポット/インチ= 511.92ポンド);-)。画像の例が参考になります。イメージインスタンス全体をログに記録すると、通常、NSImageに含まれるイメージの種類や数など、豊富な情報が提供されます。 ( 'NSImage'は単なる1つ以上の' NSImageRep'のコンテナです) – NSGod
@NSGod:ちょっとしたことで申し訳ありません: 'NSImage'は単に**ゼロ**以上の' NSImageRep'のコンテナです –