我是ios新手,请保持温柔...

我有一个imageview,它显示从photo library中选择的图像。

我想选择使用rgbhex值触摸图像的颜色。

最佳答案

我认为您应该尝试这种方法:

- (UIColor *)colorAtPosition:(CGPoint)position
{
    CGRect sourceRect = CGRectMake(position.x, position.y, 1.f, 1.f);
    CGImageRef imageRef = CGImageCreateWithImageInRect(self.CGImage, sourceRect);

    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
    unsigned char *buffer = malloc(4);
    CGBitmapInfo bitmapInfo = kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big;
    CGContextRef context = CGBitmapContextCreate(buffer, 1, 1, 8, 4, colorSpace, bitmapInfo);
    CGColorSpaceRelease(colorSpace);
    CGContextDrawImage(context, CGRectMake(0.f, 0.f, 1.f, 1.f), imageRef);
    CGImageRelease(imageRef);
    CGContextRelease(context);

    CGFloat r = buffer[0] / 255.f;
    CGFloat g = buffer[1] / 255.f;
    CGFloat b = buffer[2] / 255.f;
    CGFloat a = buffer[3] / 255.f;

   free(buffer);

   return [UIColor colorWithRed:r green:g blue:b alpha:a];
}

或尝试以下方法:

http://www.markj.net/iphone-uiimage-pixel-color/

这是很酷的方法。

关于ios - 如何获取返回rgb,hex值的图像像素? ios,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20194420/

10-11 07:52
查看更多