Я хотів би підфарбувати зображення кольоровим посиланням. Результати повинні виглядати як режим багаторазового змішування у Photoshop, де білі кольори замінюватимуться відтінком :
Я постійно змінюватиму значення кольору.
Подальші дії: я б поставив код для цього в моєму методі drawRect: ImageView, так?
Як завжди, фрагмент коду дуже допоміг би мені зрозуміти, на відміну від посилання.
Оновлення: підкласи UIImageView з кодом Ramin запропонував.
Я помістив це у viewDidLoad: мого контролера перегляду:
[self.lena setImage:[UIImage imageNamed:kImageName]];
[self.lena setOverlayColor:[UIColor blueColor]];
[super viewDidLoad];
Я бачу зображення, але воно не підфарбовується. Я також спробував завантажити інші зображення, встановити зображення в IB і викликати setNeedsDisplay: в моєму контролері подання.
Оновлення : drawRect: не викликається.
Остаточне оновлення: я знайшов старий проект, у якому було належним чином налаштовано imageView, щоб я міг протестувати код Раміна, і він працює як шарм!
Остаточне, остаточне оновлення:
Для тих з вас, хто тільки дізнається про Core Graphics, ось найпростіша річ, яка могла б спрацювати.
У підкласі UIView:
- (void)drawRect:(CGRect)rect {
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColor(context, CGColorGetComponents([UIColor colorWithRed:0.5 green:0.5 blue:0 alpha:1].CGColor)); // don't make color too saturated
CGContextFillRect(context, rect); // draw base
[[UIImage imageNamed:@"someImage.png"] drawInRect: rect blendMode:kCGBlendModeOverlay alpha:1.0]; // draw image
}