Core Image 是苹果提供的图像处理框架。我们可以使用它来轻松为 IOS App 添加各种复杂的滤镜和效果。
使用 Core Image 的基本步骤:
- 创建 CIImage 对象来代表输入图像。可以从 UIImage、CGImage 或 URL 创建。
- 创建 CIFilter 对象来指定图像处理操作,如 CICrop、CIGaussianBlur 等。
- 将 CIImage 对象传递给 CIFilter 的 inputImage 属性。
- 设置 CIFilter 其他参数值,如宽高、半径等。
- 从 CIFilter 的 outputImage 获取处理后的 CIImage。
- 将 CIImage 转换为 UIImage 或 CGImage 显示在界面上。
- (可选)创建 CIContext 对象来控制图像处理的性能和质量。
- 使用串联多个 CIFilter 来创建有层次的图像处理效果。
下面是一个简单的 Core Image 示例:
swift
let inputImage = CIImage(image: UIImage(named: "example.jpg")!)
let cropFilter = CIFilter(name: "CILanczosScaleTransform")!
cropFilter.inputImage = inputImage
cropFilter.scale = 0.8
let blurredImage = CIFilter(name: "CIGaussianBlur")!
blurredImage.inputImage = cropFilter.outputImage
blurredImage.radius = 10
let context = CIContext()
let outputImage = context.createCGImage(blurredImage.outputImage!, from: blurredImage.outputImage!.extent)
let outputUIImage = UIImage(cgImage: outputImage!)
imageView.image = outputUIImage