我有一个来自数据库的小图像,图像的平均颜色需要稍微改变。
这是一个 CGImageRef ,我想创建一个 CGContext ,将图像绘制到这个上下文中,然后以某种方式更改位图数据并最终渲染它。 但是我怎样才能改变颜色信息?
感谢您的帮助!
答案 0 :(得分:0)
查看this Apple Q&A on pixel data manipulation,了解有关如何进行此操作的详细信息。
答案 1 :(得分:0)
在对象上绘制颜色,如下所示:
// first draw image
[self.image drawInRect:rect];
// prepare the context to draw into
CGContextRef context = UIGraphicsGetCurrentContext();
// set the blend mode and draw rectangle on top of image
CGContextSetBlendMode(context, kCGBlendModeColor);
CGContextClipToMask(context, self.bounds, image.CGImage); // this restricts drawing to within alpha channel
CGContextSetRGBFillColor(context, 0.75, 0.0, 0.0, 1.0); // this is your color, a light reddish tint
CGContextFillRect(context, rect);
我将它放入自定义UIView的drawRect:方法中。 UIView有一个ivar,UIImage *图像,用于保存您想要着色或着色的图像。