I want to build an app that lets the user select an image and it outputs the \"average color\".
For example, this image:
The average color would be a gr
Maybe it can help for someone - my extension return color but for UIView
(where your image can be found), uses old QuartzCore code
// ObjC case
@interface UIView (ColorOfPoint)
- (UIColor *) colorOfPoint:(CGPoint)point withSize:(CGSize)size;
@end
#import
@implementation UIView (ColorOfPoint)
- (UIColor *) colorOfPoint:(CGPoint)point withSize:(CGSize)size {
unsigned char pixel[4] = {0};
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(pixel, size.width, size.height, 8, 4, colorSpace, kCGBitmapAlphaInfoMask & kCGImageAlphaPremultipliedLast);
CGContextTranslateCTM(context, -point.x-size.width/2, -point.y-size.height/2);
[self.layer renderInContext:context];
CGContextRelease(context);
CGColorSpaceRelease(colorSpace);
//NSLog(@"pixel: %d %d %d %d", pixel[0], pixel[1], pixel[2], pixel[3]);
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