[英]How can I crop an image before loading it to the view controller
在我的視圖控制器中,我的UIImageView設置為370x370,當我加載圖像時,它當前會拉伸以適合ImageView。
這是我目前用於選擇圖像的內容:
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
// Runs when user is picking image from library
if let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage {
self.previewImageView.image = pickedImage
self.selectImageButton.isEnabled = false
self.selectImageButton.isHidden = true
uploadImage(image: pickedImage)
picker.dismiss(animated: true, completion: nil)
}
}
我對Swift還是很陌生,最好是在我的代碼中實現圖像裁剪?
調用ImagePicker函數時,請將allowEditing設置為true:
self.imagePicker.allowsEditing = true
self.imagePicker.sourceType = .camera
self.present(self.imagePicker, animated: true, completion: nil)
另一個選擇是,如果您想要更多的自定義,則可以使用以下庫: https : //github.com/TimOliver/TOCropViewController
在didFinishPickingMediaWithInfo中,您可以執行以下操作:
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
if let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage{
dismiss(animated: true, completion: nil)
let cropVC = TOCropViewController(image: pickedImage)
cropVC.delegate = self
cropVC.aspectRatioPickerButtonHidden = true
cropVC.aspectRatioPreset = .presetSquare
cropVC.aspectRatioLockEnabled = true
cropVC.resetAspectRatioEnabled = false
self.present(cropVC, animated: true, completion: nil)
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.