iPhone:如何更改图像的颜色

时间:2009-08-27 15:09:54

标签: iphone colors cgimage

我有一个来自数据库的小图像,图像的平均颜色需要稍微改变。

这是一个 CGImageRef ,我想创建一个 CGContext ,将图像绘制到这个上下文中,然后以某种方式更改位图数据并最终渲染它。 但是我怎样才能改变颜色信息?

感谢您的帮助!

2 个答案:

答案 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 *图像,用于保存您想要着色或着色的图像。