2012-02-01 15 views
24

CoreGraphicsでイメージを処理しようとしていて、処理したイメージを保存して表示するためにNSImageに戻しています。私はiOSでこれらの機能を実行する方法について十分なリソースを持っていますが、ヘルパーメソッドはNSImageにはないようです。 iOSではクラスメソッドがimageWithCGImage:です。Mac OSでこれをどうやって行えますか?CGImageRefからNSImageを取得する

答えて

42

NSImageの一致方法はinitWithCGImage:size:です。

第2引数は、画像のサイズをポイント単位で表します。 (CGImageの)ピクセル単位のサイズとポイント単位のサイズとの間の因数は、スケール係数です。たとえば、100×100ピクセルのCGImageを持ち、(NSSize){ 50.0, 50.0 }のサイズを渡すと、画像のサイズは50ポイント、倍精度になります。

通常、ピクセル単位で(CGImageから)サイズをポイント単位で渡すだけです。複数のスケールファクタを処理するには、ほとんどのタイプの場合は-[NSWorkspace iconForFileType:]から、または典型的な.icnsファイルからNSImageを作成する場合のように、複数のNSImageRepsを持つ単一のNSImageを使用する方がよいでしょう。

+41

NSZeroSizeは「CGImageと同じサイズ」の省略形です。 – Ken

+0

@KenありがとうKenは重要な情報です! –

関連する問題