iOS 改变图片颜色

在做项目的时候碰到了一个需求,把app的主题颜色改变成另外一种颜色,由于没有给出新的素材图片,需要把现有图片的颜色改变一下。下面是改变图片颜色的方法(一般对于单一颜色的图片)

imageWithRenderingMode:

UIImage有一个方法imageWithRenderingMode:,通过它设置图片的渲染模式,再通过设置tintcolor,就可以改变图片颜色。其中参数部分UIIMageRenderingMode有三个枚举对应不同的渲染模式:

typedef NS_ENUM(NSInteger, UIImageRenderingMode) {
    UIImageRenderingModeAutomatic,          // 根据图片的使用环境和所处的绘图上下文自动调整渲染模式
    UIImageRenderingModeAlwaysOriginal,     // 始终绘制图片原始状态,不使用Tint Color
    UIImageRenderingModeAlwaysTemplate,     // 始终根据Tint Color绘制图片,忽略图片的颜色信息
}

使用实例:

UIImage *image = [UIImage imageNamed:@"imageName"];
self.ImageView.image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
[self.ImageView setTintColor:[UIColor redColor]];
imageWithTintColor:

iOS13发布后,UIImage有一个新增方法imageWithTintColor:,可以通过它改变图片颜色

使用实例:

UIImage *image = [UIImage imageNamed:@"imageName"];
self.ImageView.image = [image imageWithTintColor:[UIColor redColor]];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值