在我的iOS應用程序中,我想從照片庫中抓取圖像並將它們裁剪爲方形格式。 UIImagePickerController
照顧好了這一點,但有一個小問題:當我從庫中選擇一幅橫向照片時,它不會填充裁剪區域(對於縱向圖像)。這允許用戶選擇非正方形區域。 有沒有辦法強制圖像採集器垂直填充作物區域就像它水平 - 沒有實現我自己的圖像選擇器?初始填充圖像UIImagePickerController
我的代碼:
class AddProfileViewController: UIViewController, UIGestureRecognizerDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
@IBOutlet weak var profileImageView: EnhancedImageView!
let imagePicker = UIImagePickerController()
override func viewDidLoad() {
super.viewDidLoad()
// ...
imagePicker.delegate = self
}
func profileImageTapped() {
imagePicker.allowsEditing = true
imagePicker.sourceType = .PhotoLibrary
presentViewController(imagePicker, animated: true, completion: nil)
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
// ...
}
func imagePickerControllerDidCancel(picker: UIImagePickerController) {
dismissViewControllerAnimated(true, completion: nil)
}
}
選擇風景圖像,它看起來像這樣:
相反,我想的圖像水平和垂直延伸到裁剪框,所以圖像選擇器將始終返回一個方形圖像。
目前還沒有答案 - 如果不編寫自己的圖像選擇器,可能無法做到這一點。以下是我現在如何解決(或避免)它 - 解決方案的更多方法:如果用戶沒有放大圖像的任何部分,圖像的中心就是用戶想要的最接近的部分,並且我通過切割兩邊的等寬切片來獲得方形圖像。 – jerry