1. 程式人生 > >[Xcode10 實際操作]六、媒體與動畫-(3)使用CoreImage框架設定圖片的單色效果

[Xcode10 實際操作]六、媒體與動畫-(3)使用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 //其引數值介於0和1之間 24 let color = CIColor(red: 0.8, green: 0.6, blue: 0.4) 25 //初始化一個濾鏡物件,並設定濾鏡型別為單色調濾鏡
26 let filter = CIFilter(name: "CIColorMonochrome") 27 //設定單色調濾鏡的輸入顏色值 28 filter?.setValue(color, forKey: kCIInputColorKey) 29 //設定單色調濾鏡的顏色濃度值 30 filter?.setValue(1.0, forKey: kCIInputIntensityKey) 31 //設定需要應用單色調濾鏡的影象 32 filter?.setValue(ciImage, forKey: kCIInputImageKey) 33 //獲得應用單色調濾鏡後的影象 34 let outImage = filter?.outputImage 35 36 //更改影象檢視的內容,為應用濾鏡後的影象 37 imageView.image = UIImage(ciImage: outImage!) 38 } 39 40 override func didReceiveMemoryWarning() { 41 super.didReceiveMemoryWarning() 42 // Dispose of any resources that can be recreated. 43 } 44 }