В моем приложении мне нужно показать первые три средних цвета (в основном используемые цвета) изображения. как я могу это получить? i hv попробовал приведенный ниже код, чтобы получить один средний цвет, но мне нужно три цвета на основе его уровня подарков. ex. Пример вывода:
синий # 0000FF Аква # 00FFFF Серый # 808080Как получить первые три средних цвета изображения?
- (UIColor *) averageColor {
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
unsigned char rgba[4];
CGContextRef context = CGBitmapContextCreate(rgba, 1, 1, 8, 4, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big);
CGContextDrawImage(context, CGRectMake(0, 0, 1, 1), given_Img.CGImage);
CGColorSpaceRelease(colorSpace);
CGContextRelease(context);
UIColor *colorOfArtwork;
if(rgba[3]) {
NSLog(@"rgba[3]");
CGFloat alpha = ((CGFloat)rgba[3])/255.0;
CGFloat multiplier = alpha/255.0;
return colorOfArtwork = [UIColor colorWithRed:((CGFloat)rgba[0])*multiplier
green:((CGFloat)rgba[1])*multiplier
blue:((CGFloat)rgba[2])*multiplier
alpha:alpha];
}
else {
return colorOfArtwork = [UIColor colorWithRed:((CGFloat)rgba[0])/255.0
green:((CGFloat)rgba[1])/255.0
blue:((CGFloat)rgba[2])/255.0
alpha:((CGFloat)rgba[3])/255.0];
}
}
как фиолетовый, желтый и все такое. – Megan
Поместите код, если вы что-то пробовали .. – parilogic
Что вы подразумеваете под «на основе его приоритета»? –