如何在iOS上以程序方式着色图像?
我想为图像添加色彩参考。结果应该看起来像Photoshop中的“乘法”混合模式,其中白色将替换为“ 色调”: 我将不断更改颜色值。 后续:我将把要做此操作的代码放在ImageView的drawRect:方法中,对吗? 像往常一样,与链接相反,代码片段将极大地帮助我理解。 更新:用建议的代码Ramin子类化UIImageView 。 我把它放在我的视图控制器的viewDidLoad:中: [self.lena setImage:[UIImage imageNamed:kImageName]]; [self.lena setOverlayColor:[UIColor blueColor]]; [super viewDidLoad]; 我看到了图像,但没有着色。我还尝试加载其他图像,在IB中设置图像,然后在视图控制器中调用setNeedsDisplay:。 更新:未调用drawRect :。 最终更新:我发现一个老项目具有正确设置的imageView,因此我可以测试Ramin的代码,并且它的工作原理很吸引人! 最终,最终更新: 对于那些刚开始学习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"] …