3

我想获取UIImage颜色与指定颜色匹配的像素的位置。

例如,我想找到这种颜色的像素的位置(x,y)[UIColor colorWithRed:255 green:0 blue:0 alpha:1]:。

CGPoint 点 = getFirstPixelOfColor([UIColor colorWithRed:255 green:0 blue:0 alpha:1].CGColor);
4

1 回答 1

2

UIImage-Utils添加到您的项目中。然后像这样得到 x,y 的颜色:

CGFloat imageWidth = image.size.width;
NSData *imageData = [UIImage bytesFromImage:image]
Byte *bytes = (Byte *)imageData.bytes;
CGFloat red    = bytes[redOffset   (x, y, imageWidth)] / 255.0f;
CGFloat green  = bytes[greenOffset (x, y, imageWidth)] / 255.0f;
CGFloat blue   = bytes[blueOffset  (x, y, imageWidth)] / 255.0f;
UIColor *color = [UIColor colorWithRed:red green:green blue:blue alpha:1.0f];

存储与您要查找的颜色匹配的颜色的 x,y。对图像中的每个 x,y 重复。

于 2013-08-11T11:12:08.377 回答