0

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

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

谢谢你的帮助!

4

2 回答 2

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 *image ,其中包含您要着色或着色的图像。

于 2009-08-29T07:46:57.270 回答
0

查看有关像素数据操作的 Apple Q&A以了解有关如何进行此操作的详细信息。

于 2009-08-27T17:11:16.893 回答