获取iOS中CGImageRef的平均RGB颜色

时间:2011-10-01 22:50:14

标签: iphone ios uiimage core-graphics rgb

我一直在努力解决这个问题几个小时,我希望别人有一些见解。我正在寻找一种方法来获得1x1 UIImage的平均RGB颜色。到目前为止,我已经从UIImage创建了一个CGImageRef,但我对CoreGraphics来说真的很新,所以我不知道从那里去哪里。任何帮助表示赞赏。谢谢!

1 个答案:

答案 0 :(得分:1)

如果您有CGImage,则可以通过调用

获取数据
CGDataProviderRef CGImageGetDataProvider (
   CGImageRef image
);

CGImage doc

然后你可以复制数据

CFDataRef CGDataProviderCopyData(
   CGDataProviderRef provider
);

CGDataProvider doc

由于CFDataNSData相同,您可以投射它并检索字节

- (const void *)bytes

CFData doc

NSData doc

现在你有原始字节,你可以用它们做任何事情,使用

CGImageAlphaInfo CGImageGetAlphaInfo (
   CGImageRef image
);
CGBitmapInfo CGImageGetBitmapInfo (
   CGImageRef image
);

获取信息如何将图像数据存储在您获得的字节中。