照片編輯APP
Published in
Aug 30, 2021
難產的作品,甚至險些胎死腹中,對於如此沈淪的行為深感不秒,必須持續往前走才不會喪失動力,所以雖然不完整,我還是決定先上傳待之後再將功能補起。
包含功能:
畫面裁切、翻轉、背景色調整、濾鏡、儲存照片
- 按下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. 儲存照片:
操作影片:
程式碼:
參考網站: