gpt4 book ai didi

swift - 为什么来自 UIImagePickerController 的图像有时会被错误地裁剪?

转载 作者:搜寻专家 更新时间:2023-10-30 22:18:34 26 4
gpt4 key购买 nike

有时,使用 UIImagePickerController 从相册中选取的图像的裁剪方式与用户希望的裁剪方式不同。这发生在大约。上传 50 张图片中的 1 张。

发生这种情况时,图像总是从左上角裁剪到图像的一部分。这是一个示例图像,其中 (1) 在红色矩形中显示了用户应该选择裁剪的内容,以及 (2) 最终在服务器上显示的图像。

enter image description here

(1) 中的选择是假设性的,因为不知道用户如何精确定位裁剪,并且不可能重现这种不正确的裁剪。仅在实时应用程序中观察到。一些用户尝试多次上传同一张图片,但总是出现同样的错误裁剪并最终投诉,所以这并不是用户故意这样裁剪图像。

一些用户尝试上传不同的图片,但所有图片都被错误地裁剪了。

这是代码(经过简化但图像没有任何变化):

class ImagePicker {

private let imagePicker = UIImagePickerController()

func showPicker() {
imagePicker.sourceType = .PhotoLibrary
imagePicker.mediaTypes = [kUTTypeImage as String]
imagePicker.allowsEditing = true
imagePicker.delegate = delegate
imagePicker.modalPresentationStyle = .OverFullScreen
parentViewController.presentViewController(imagePicker, animated: true, completion: nil)
}

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {

if let image = info[UIImagePickerControllerEditedImage] as? UIImage {
uploadImage(image)
}

picker.dismissViewControllerAnimated(true, completion: nil)
}

func uploadImage(image: UIImage) {

let imageData = UIImageJPEGRepresentation(image, 0.75)!
let imageFile = PFFile(name: "image.png", data: imageData)

// Upload to Open Source Parse Server which stores the image in an Amazon S3 bucket.
let imageObject = PFObject(className: "ImageClass")
imageObject(imageFile, forKey: "imageFile")
imageObject.saveInBackground()
}
}

有人知道为什么会这样吗?

更新:

我能够在 iPad 上重现该问题,我将在此处更新结果。

更新:

该问题仅发生在 iPad 上,因此可能与裁剪图像时 UIImagePickerViewController 中的错误有关。

最佳答案

我遇到了同样的问题。就我而言,我通过更改 imageView 的内容模式解决了这个问题。它被设置为“scaleAspectFill”。我刚刚删除了它,我的图像就以正确的方式被裁剪了。

关于swift - 为什么来自 UIImagePickerController 的图像有时会被错误地裁剪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39309658/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com