照片編輯APP

難產的作品,甚至險些胎死腹中,對於如此沈淪的行為深感不秒,必須持續往前走才不會喪失動力,所以雖然不完整,我還是決定先上傳待之後再將功能補起。

包含功能:

畫面裁切、翻轉、背景色調整、濾鏡、儲存照片

  1. 按下button,彈出UIAlertController選取路徑,要使用本機圖片抑或是使用Camera,選取Album,使用UIImagePickerController選取照片。

記得設定UIImagePickerController的Delegate,self指得即為這個ViewController,所以要記得讓這個ViewController遵從UIImagePickerControllerDelegate,這裡是用extension的方式。
接者使用show將畫面跳轉到下一頁。

2. 將選取的照片傳至下一頁面的方式為設定下個頁面的init(coder, image),再使用instantiateViewController(identifier:creator:)於creator輸入自定義的init

//第二頁面自定義的init
init?(coder: NSCoder, retouchingPhoto: UIImage){
self.selectedPhoto = retouchingPhoto
super.init(coder: coder)
}
//使畫面跳至第二頁,同時傳送選擇的照片到第二頁面。
let image = info[.originalImage] as? UIImage
if let retouchingController = storyboard?.instantiateViewController(identifier: "retouchingViewController", creator: { coder in RetouchingViewController(coder: coder, retouchingPhoto: image!)
}) {
show(retouchingController, sender: nil)
}
dismiss(animated: true, completion: nil)
}

3. 裁切功能:

可選取裁切尺寸為原尺寸、1:1、9:16。

4. 翻轉功能:

可選取水平翻轉、垂直翻轉、順時針翻轉、逆時針翻轉。

5. 背景色調整:

這邊用到了UIColorPickerViewController,別忘了需要設定Delegate,也要記得遵從UIColorPickerViewControllerDelegate喔。

6. 濾鏡功能:

濾鏡的部分使用了CIFilter。

7. 儲存照片:

操作影片:

程式碼:

參考網站:

--

--