Swift - 如何把图片中的某个颜色替换成其他颜色并输出新的图片?
时间: 2024-02-24 21:58:03 浏览: 192
swift-UIImage分类包含根据颜色生成图片等功能
要把图片中的某个颜色替换成其他颜色并输出新的图片,可以使用Core Image框架中的CIColorMonochrome滤镜。以下是一个示例代码,可以将UIImage中的红色替换为蓝色:
```swift
// 获取原始图片
let originalImage = UIImage(named: "exampleImage")!
// 定义颜色和滤镜
let color = CIColor(red: 0, green: 0, blue: 1) // 蓝色
let filter = CIFilter(name: "CIColorMonochrome")!
filter.setValue(CIImage(image: originalImage), forKey: kCIInputImageKey)
filter.setValue(color, forKey: kCIInputColorKey)
filter.setValue(1.0, forKey: kCIInputIntensityKey)
// 创建CIContext和输出UIImage
let context = CIContext(options: nil)
let outputImage = filter.outputImage!
let cgImage = context.createCGImage(outputImage, from: outputImage.extent)
let newImage = UIImage(cgImage: cgImage!)
// 返回新的UIImage
return newImage
```
在此示例中,我们首先获取原始UIImage。然后,我们定义要使用的颜色和滤镜。我们使用CIColorMonochrome滤镜将图像转换为单色,并将颜色设置为要替换的颜色。然后,我们创建一个CIContext并使用它来输出UIImage。最后,我们将新的UIImage返回。
阅读全文