Swift - 實現圖片的模糊效果(高斯模糊濾鏡)

1,效果圖

通過滑動滑塊,設置不同的模糊半徑來實現不同的模糊程度。
原文:Swift - 實現圖片的模糊效果(高斯模糊濾鏡)原文:Swift - 實現圖片的模糊效果(高斯模糊濾鏡)原文:Swift - 實現圖片的模糊效果(高斯模糊濾鏡)

2,樣例代碼

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import UIKit
 
class ViewControllerUIViewController {
     
    @IBOutlet weak var imageView: UIImageView!
     
    @IBOutlet weak var slider: UISlider!
     
    //原圖
    lazy var originalImage: UIImage = {
        return UIImage(named: "image1.jpg")
        }()!
     
    lazy var context: CIContext = {
        return CIContext(options: nil)
    }()
     
    override func viewDidLoad() {
        super.viewDidLoad()
    }
     
    //滑塊拖動後
    @IBAction func sliderValueChanged(_ sender: AnyObject) {
        //獲取原始圖片
        let inputImage =  CIImage(image: originalImage)
        //使用高斯模糊濾鏡
        let filter CIFilter(name: "CIGaussianBlur")!
        filter.setValue(inputImage, forKey:kCIInputImageKey)
        //設置模糊半徑值(越大越模糊)
        filter.setValue(slider.value, forKey: kCIInputRadiusKey)
        let outputCIImage = filter.outputImage!
        let rect = CGRect(origin: CGPoint.zero, size: originalImage.size)
        let cgImage = context.createCGImage(outputCIImage, from: rect)
        //顯示生成的模糊圖片
        imageView.image = UIImage(cgImage: cgImage!)
    }
     
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}
發佈了14 篇原創文章 · 獲贊 2 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章