10

私は NSImage オブジェクトを作成しました。理想的には、それに含まれる各ピクセルの色の数を特定したいと考えています。これは可能ですか?

4

6 に答える 6

9

独自のビットマップ コンテキストを作成し、それをグラフィックス コンテキストにラップして現在のコンテキストとして設定し、イメージにそれ自体を描画するように指示してから、ビットマップ コンテキストの背後にあるピクセル データに直接アクセスすることをお勧めします。

これはより多くのコードになりますが、TIFF 表現を介した旅行と、何千または何百万もの NSColor オブジェクトの作成の両方を節約できます。かなりのサイズの画像を扱う場合、これらの費用はすぐに加算されます。

于 2010-01-03T06:30:24.517 に答える
7

から を取得NSBitmapImageRepしますNSImage。その後、ピクセルにアクセスできます。

NSImage* img = ...;
NSBitmapImageRep* raw_img = [NSBitmapImageRep imageRepWithData:[img TIFFRepresentation]];
NSColor* color = [raw_img colorAtX:0 y:0];
于 2010-01-03T06:01:04.400 に答える
1

Core Image のドキュメントで「ヒストグラム」を探してください。

于 2010-01-03T08:32:30.323 に答える