在iOS中获取CGImageRef的平均RGB颜色

我一直在挣扎几个小时,我希望别人有一些洞察力。 我正在寻找一种方法来获得1×1 UIImage的平均RGB颜色。 到目前为止,我已经从UIImage创build了一个CGImageRef,但是我对CoreGraphics真的很陌生,所以我不确定从哪里开始。 任何帮助表示赞赏。 谢谢!

如果你有一个CGImage,你可以通过调用来获取数据

CGDataProviderRef CGImageGetDataProvider ( CGImageRef image ); 

CGImage文档

然后你可以复制数据

 CFDataRef CGDataProviderCopyData( CGDataProviderRef provider ); 

CGDataProvider文档

由于CFDataNSData相同,您可以将其转换并检索字节

 - (const void *)bytes 

CFData文件

NSData文档

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

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

以获取信息如何图像数据存储在你得到的字节。