欢迎关注
最酷最in的云资讯

iOS改变图片的颜色

在做项目的时候碰到了一个需求,就是设计做的图片的颜色和需求不符合,需要把图片的颜色改变一下。下面是改变图片颜色的方法。
首先我们创建一个UIImage的Category,名为ChangeColor。这个名为ChangeColor的Category只有一个方法,即-(UIImage*)imageChangeColor:(UIColor*)color。这个方法的具体实现如下:

#import "UIImage+ChangeColor.h"@implementation UIImage (ChangeColor)//绘图-(UIImage*)imageChangeColor:(UIColor*)color{    //获取画布    UIGraphicsBeginImageContextWithOptions(self.size, NO, 0.0f);    //画笔沾取颜色    [color setFill];        CGRect bounds = CGRectMake(0, 0, self.size.width, self.size.height);    UIRectFill(bounds);    //绘制一次    [self drawInRect:bounds blendMode:kCGBlendModeOverlay alpha:1.0f];    //再绘制一次    [self drawInRect:bounds blendMode:kCGBlendModeDestinationIn alpha:1.0f];    //获取图片    UIImage *img = UIGraphicsGetImageFromCurrentImageContext();    UIGraphicsEndImageContext();    return img;}@end

使用方法:
首先我们看一下不改变颜色时,真实的图片颜色

UIImage *image = [UIImage imageNamed:@"qr-code"];UIImageView *imageView = [[UIImageView alloc] initWithImage:image];[imageView setFrame:CGRectMake(100, 100, 100, 100)];[self.view addSubview:imageView];

得到的图片:

iOS改变图片的颜色

然后我们改变图片的颜色为绿色:

UIImage *image = [UIImage imageNamed:@"qr-code"];UIImageView *imageView = [[UIImageView alloc] initWithImage:[image imageChangeColor:[UIColor blueColor]]];[imageView setFrame:CGRectMake(100, 100, 100, 100)];[self.view addSubview:imageView];

运行结果:

iOS改变图片的颜色作者:雪山飞狐_91ae
链接:https://www.swifty.cc/p/10047407463c

赞(0) 打赏
未经允许不得转载:云微资讯 » iOS改变图片的颜色
分享到: 更多 (0)

云微资讯 科技新媒体资讯平台

关于我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏