Как изменить цвет всего изображения - PullRequest
0 голосов
/ 03 февраля 2012

У меня UIImage, содержащий шаблон в центре, а остальная часть изображения прозрачная. это png файл, а рисунок всего одного цвета. Я создал таблицу, из которой пользователи могут выбрать цвет (UIColor), и я хочу изменить цвет рисунка на тот, который выбрал пользователь. Я знаю, как изменить цвет для пикселя в изображении, но есть ли способ изменить цвет всего шаблона, или мне нужно менять каждый пиксель один за другим?

Ответы [ 2 ]

1 голос
/ 20 марта 2013

Введите изображение и цвет, который вы хотите изменить, в метод ниже. Вернет вам свежее изображение на основе контура.

-(UIImage *)returnImage:(UIImage *)image coloured:(UIColor *)colour {

UIGraphicsBeginImageContext(image.size);
CGContextRef context = UIGraphicsGetCurrentContext();

CGRect rect = CGRectMake(0, 0, image.size.width, image.size.height);

CGContextTranslateCTM(context, 0, image.size.height);
CGContextScaleCTM(context, 1.0, -1.0);

CGContextClipToMask(context, rect, image.CGImage);
CGContextAddRect(context, rect);
CGContextDrawPath(context,kCGPathFill);

CGContextSetFillColorWithColor(context, colour.CGColor);
CGContextFillRect(context, rect);

UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

return newImage;

}
0 голосов
/ 30 августа 2012

Я наткнулся здесь на другую тему, которую я не помню, как она называлась!

...