Я создал объект NSImage и идеально хотел бы определить, сколько из каждого пиксельного цвета он содержит. Действительно ли это возможно?
Я предлагаю создать свой собственный Citmap Context , упаковывая его в графический контекст и установку, что в качестве текущего контекста Чтобы нарисовать себя , а затем доступа к данным пикселя, напрямую доступа к контексту растрового изображения.
Это будет больше кода, но сэкономит вам оба путешествия через представление TIFF и создание тысяч или миллионов объектов Nscolor. Если вы работаете с изображениями любого заметного размера, эти расходы будут быстро добавляться.
Получите NSBitmapImageRep
от вашего NSImage
. Затем вы можете получить доступ к пикселям.
NSImage* img = ...;
NSBitmapImageRep* raw_img = [NSBitmapImageRep imageRepWithData:[img TIFFRepresentation]];
NSColor* color = [raw_img colorAtX:0 y:0];