IOS 中什么是 Core Image?如何使用?代码举例讲解

Core Image 是苹果提供的图像处理框架。我们可以使用它来轻松为 IOS App 添加各种复杂的滤镜和效果。

使用 Core Image 的基本步骤:

  1. 创建 CIImage 对象来代表输入图像。可以从 UIImage、CGImage 或 URL 创建。
  2. 创建 CIFilter 对象来指定图像处理操作,如 CICrop、CIGaussianBlur 等。
  3. 将 CIImage 对象传递给 CIFilter 的 inputImage 属性。
  4. 设置 CIFilter 其他参数值,如宽高、半径等。
  5. 从 CIFilter 的 outputImage 获取处理后的 CIImage。
  6. 将 CIImage 转换为 UIImage 或 CGImage 显示在界面上。
  7. (可选)创建 CIContext 对象来控制图像处理的性能和质量。
  8. 使用串联多个 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