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

标签 iphone ios uiimage core-graphics rgb

我已经为此苦苦挣扎了几个小时,我希望其他人有一些见解。我正在寻找一种方法来获取 1x1 UIImage 的平均 RGB 颜色。到目前为止,我已经从 UIImage 创建了一个 CGImageRef,但我对 CoreGraphics 真的很陌生,所以我不确定从那里去哪里。任何帮助表示赞赏。谢谢!

最佳答案

如果你有一个 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
);

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

关于iphone - 在 iOS 中获取 CGImageRef 的平均 RGB 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7623455/

相关文章:

ios - 如何防止选择器 View 重复

ios - swift:合并不重叠的图像

objective-c - 永远不会调用UIImage dealloc

iphone - 如何在IBAction中传递参数?

iOS 通用应用程序 - UITableView/UICollectionView

ios - 在导航 Controller 中转到 "back"时,ARC 未释放内存 - 它正在减慢我的 uipageviewcontroller

ios - 从图像Objective c中提取纬度和经度

iphone - 在 UIWebView 中打开弹出链接,可能吗?

iphone - @property(nonatomic)ivar @property(nonatomic,assign)ivar 相同还是不同?

iphone - iOS 复制 SQLite 数据库并将其从 iCloud 中排除