import UIKit
class ViewController: UIViewController {
@IBOutlet weak var imageView1: UIImageView!
@IBOutlet weak var imageView2: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
imageView2.image = self.outputImageWithFilterName(filterName: "CIMotionBlur")
}
// CIMotionBlur
func outputImageWithFilterName(filterName : String) -> UIImage {
// 1. 将UIImage转换成CIImage
let ciImage = CIImage(image: imageView2.image!)
// 2. 创建滤镜
let filter = CIFilter(name: filterName)
filter?.setValue(ciImage, forKey: kCIInputImageKey)
filter?.setValue( 10, forKey: "inputRadius")
// 3. 渲染并输出CIImage
let outputImage = filter?.outputImage
// 4. 获取绘制上下文
let context = CIContext(options: nil)
// 5. 创建输出CGImage
let cgImage:CGImage = context.createCGImage(outputImage!, from: outputImage!.extent)!
let image = UIImage.init(cgImage: cgImage)
// 6. 返回image
return image
}
}
CoreImage滤镜动态模糊
最新推荐文章于 2024-05-30 09:34:58 发布