CoreGraphicsで画像を処理してから、処理した画像をNSImage
に戻して保存し、表示しようとしています。 iOSでこれらの機能を実行する方法については十分なリソースがありますが、ヘルパーメソッドがNSImage
にないようです。 iOSではクラスメソッドはimageWithCGImage:
ですが、Mac OSでこれを行うにはどうすればよいですか?
NSImageのマッチング方法はinitWithCGImage:size:
です。
2番目の引数は、画像のサイズをポイント単位で取得します。 (CGImageの)ピクセル単位のサイズとポイント単位のサイズの間の係数は、スケール係数です。したがって、たとえば、100×100pxのCGImageがあり、サイズが(NSSize){ 50.0, 50.0 }
の場合、画像のサイズは50ポイントで、解像度は2倍になります。
通常、ポイント単位のサイズとして(CGImageからの)ピクセル単位のサイズを渡す必要があります。複数のスケールファクターを処理するには、ほとんどのタイプの-[NSWorkspace iconForFileType:]
から取得するものや、一般的な.icnsファイルからNSImageを作成する場合のように、単一のNSImageと複数のNSImageRepsを使用することをお勧めします。