user972462
user972462

Reputation:

Get color from image

I am new to ios I am doing one application in that i got the requirement as to get the color from the image using touch event simply show the alert on which color the user touched on the image

Upvotes: 1

Views: 301

Answers (1)

Apurv
Apurv

Reputation: 17186

@implementation UIView (ColorOfPoint)

- (UIColor *) colorOfPoint:(CGPoint)point
{
      unsigned char pixel[4] = {0};
      CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
      CGContextRef context = CGBitmapContextCreate(pixel, 1, 1, 8, 4, colorSpace, kCGImageAlphaPremultipliedLast);
      CGContextTranslateCTM(context, -point.x, -point.y);
      [self.layer renderInContext:context];
      CGContextRelease(context);
      CGColorSpaceRelease(colorSpace);
      UIColor *color = [UIColor colorWithRed:pixel[0]/255.0 green:pixel[1]/255.0 blue:pixel[2]/255.0 alpha:pixel[3]/255.0];

      return color;
}
@end

Add this function as an extension of UIView. Pass the point (x and y coordinate) to it and it will return a color.

Upvotes: 3

Related Questions