我正在使用UIImagePickerController
属性为allowsEditing
的{{1}}:
let imagePickerController = UIImagePickerController()
imagePickerController.delegate = self
imagePickerController.allowsEditing = true
imagePickerController.sourceType = .photoLibrary
present(imagePickerController, animated: true, completion: nil)
我的问题是,当我为图像选择裁剪区域时,结果图像是错误的。
这是我选择的:
但是,这是我得到的图像:
您可以看到图像是错误的,尤其是底部和右侧的尺寸。
在我的UIImagePickerControllerDelegate
方法中,我这样:
imageView.image = info[.editedImage] as? UIImage
以下是info
词典中的一些数据:
let originalImage = info[.originalImage] as? UIImage
let editedImage = info[.editedImage] as? UIImage
let cropRect = (info[.cropRect] as? NSValue)!.cgRectValue
NSLog("originalImage size: \(originalImage!.size)")
NSLog("editedImage size: \(editedImage!.size)")
NSLog("cropRect size: \(cropRect)")```
这给了我
originalImage size: (2320.0, 3088.0)
editedImage size: (1242.0, 1242.0)
cropRect size: (211.0, 557.0, 2309.0, 2309.0)
如果有人可以看到这些数字中的逻辑,我很想听听。裁剪区域的大小不应该与编辑图像的大小相同吗?
PS:我已经看到了一些有关作物尺寸错误的问题,但它们都与状态栏问题有关,并且只是垂直的(即像我的一样,右侧没有黑条)。