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滤镜动态模糊
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.