Swift - 使用CGBlendMode改变UIImage颜色
时间: 2023-07-20 10:19:48 浏览: 157
要使用CGBlendMode改变UIImage的颜色,可以使用Core Graphics框架中的方法。以下是一个示例代码,可以将UIImage的颜色更改为红色:
```swift
// 获取原始图片
let originalImage = UIImage(named: "exampleImage")!
// 定义颜色和混合模式
let color = UIColor.red.cgColor
let blendMode = CGBlendMode.color
// 创建图形上下文并绘制新的UIImage
UIGraphicsBeginImageContextWithOptions(originalImage.size, false, originalImage.scale)
guard let context = UIGraphicsGetCurrentContext() else { return nil }
originalImage.draw(in: CGRect(origin: .zero, size: originalImage.size))
context.setFillColor(color)
context.setBlendMode(blendMode)
context.fill(CGRect(origin: .zero, size: originalImage.size))
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
// 将新的UIImage返回
return newImage
```
在此示例中,我们首先获取原始UIImage。然后,我们定义要使用的颜色和混合模式。然后,我们创建一个图形上下文并绘制新的UIImage。最后,我们将新的UIImage返回。
阅读全文