可能重复:
如何从 UIImage (Cocoa Touch) 或 CGImage (Core Graphics) 获取像素数据?
获取 UIImage 的像素颜色
我有一个场景,用户可以从图像中选择一种颜色,例如下面的一个:
根据用户在图像上的点击位置,我需要提取那个点的 RGB 和 alpha 值——或者说,像素。我该如何做到这一点?
可能重复:
如何从 UIImage (Cocoa Touch) 或 CGImage (Core Graphics) 获取像素数据?
获取 UIImage 的像素颜色
我有一个场景,用户可以从图像中选择一种颜色,例如下面的一个:
根据用户在图像上的点击位置,我需要提取那个点的 RGB 和 alpha 值——或者说,像素。我该如何做到这一点?
您需要CGContextRef
从图像创建位图上下文 ( ) 并将CGPoint
被点击的内容转换为数组偏移位置,以从像素数据中检索颜色信息。
看看我的像素是什么颜色?对于教程和这个类似的 Stack Overflow 问题。
方法:
- (CGContextRef) createARGBBitmapContextFromImage:(CGImageRef) inImage
使用正确的颜色空间返回一个
CGContextRef
表示作为参数传递的图像。此方法由以下方式调用:
- (UIColor*) getPixelColorAtLocation:(CGPoint) point
这是您将调用以获取
UIColor
at 的 函数CGPoint
。
请注意,这些方法位于 a 的子类中,UIImageView
以使过程更简单。