我有一个来自数据库的小图像,图像的平均颜色需要稍微改变。
这是一个CGImageRef,我想创建一个CGContext,将图像绘制到这个上下文中,然后以某种方式更改位图数据并最终渲染它。但是我怎样才能改变颜色信息呢?
谢谢你的帮助!
像这样在对象上绘制颜色:
// 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 *image ,其中包含您要着色或着色的图像。
查看有关像素数据操作的 Apple Q&A以了解有关如何进行此操作的详细信息。