在我的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