我是ios新手,请保持温柔...
我有一个imageview
,它显示从photo library
中选择的图像。
我想选择使用rgb
和hex
值触摸图像的颜色。
最佳答案
我认为您应该尝试这种方法:
- (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/