Заглядывал в эту тему и использовал этот метод с разной удачей:
-(RGBPixel*)bitmap{
CGImageRef cgImage = [image CGImage];
CGDataProviderRef provider = CGImageGetDataProvider(cgImage);
bitmapData = CGDataProviderCopyData(provider);
[self setPixelByteData: malloc( CFDataGetLength(bitmapData) )];
CFDataGetBytes( bitmapData, CFRangeMake( 0, CFDataGetLength( bitmapData ) ), pixelByteData );
pixelData = (RGBPixel*) pixelByteData;
colorLabel.text = [[NSString alloc]initWithFormat:@"Pixel data: red (%i), green (%i), blue (%i).", pixelData[100].red, pixelData[100].green, pixelData[100].blue] ;
return pixelData;
}
Единственное, что не работает, как я хочу, это данные красного пикселя:это всегда говорит 255, в то время как зеленый и синий ведут себя как ожидалось.Что я делаю не так?