我想为图像添加色彩参考。结果应该看起来像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"] drawInRect: rect blendMode:kCGBlendModeOverlay alpha:1.0]; // draw image
}