1. 程式人生 > >[Xcode10 實際操作]六、媒體與動畫-(5)使用CoreImage框架給圖片新增馬賽克效果

[Xcode10 實際操作]六、媒體與動畫-(5)使用CoreImage框架給圖片新增馬賽克效果

本文將演示如何使用CoreImage影象處理框架,給圖片新增畫素化的濾鏡效果。

在專案導航區,開啟檢視控制器的程式碼檔案【ViewController.swift】

 1 import UIKit
 2 //首先匯入要使用的框架,該框架提供了強大和高效的影象處理功能,
 3 //用來對基於畫素的影象進行分析、操作和特效處理
 4 import CoreImage
 5 
 6 class ViewController: UIViewController {
 7 
 8     override func viewDidLoad() {
 9         super.viewDidLoad()
10 // Do any additional setup after loading the view, typically from a nib. 11 12 //從專案資原始檔中讀取一張圖片 13 let image = UIImage(named: "Picture") 14 //建立一個影象檢視物件, 15 //並給影象檢視指定需要顯示的圖片 16 let imageView = UIImageView(image: image) 17 //將影象檢視,新增到當時檢視控制器的根檢視
18 self.view.addSubview(imageView) 19 20 //然後初始化一個CoreImage影象物件,並載入之前匯入的圖片 21 let ciImage = CIImage(image: image!) 22 //初始化一個濾鏡物件,並設定濾鏡型別為畫素化濾鏡 23 let filter = CIFilter(name: "CIPixellate") 24 //設定畫素化濾鏡,採用預設的配置選項 25 filter?.setDefaults()
26 //設定需要應用該濾鏡的影象 27 filter?.setValue(ciImage, forKey: kCIInputImageKey) 28 //接著獲得應用指定濾鏡之後的影象 29 let outImage = filter?.outputImage 30 31 //更改影象檢視的內容,為應用濾鏡後的影象。 32 imageView.image = UIImage(ciImage: outImage!) 33 } 34 35 override func didReceiveMemoryWarning() { 36 super.didReceiveMemoryWarning() 37 // Dispose of any resources that can be recreated. 38 } 39 }