iOS 改变图片颜色

2019-10-03  本文已影响0人  气味

在做项目的时候碰到了一个需求,把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]];
上一篇下一篇

猜你喜欢

热点阅读