PHImageManager不会将剪切的图像大小作为默认照片应用程序调出

时间:2019-01-20 21:32:32

标签: xcode

我正在创建一个简单的照片应用程序。 下面的代码是调用图片的代码。它通常可以正常工作,但是同时使用基本照片应用程序的剪切功能时会出现问题。

例如,图片的分辨率为4032 x 3024。

如果从我的应用程序导入图片,则图片的分辨率与4032 x 3024相同。

但是,如果您将默认的照片应用程序切成正方形(3024 x 3024)并从我的应用程序中导入图片,则分辨率将更改为1125 x 1125。

也许更改后的分辨率代表设备的最大分辨率。

我很好奇的是,基本照片应用程序的剪切功能会导致分辨率问题。

func updateStaticImage() {
            let options = PHImageRequestOptions()
            options.deliveryMode = .highQualityFormat
            options.isNetworkAccessAllowed = false
            options.progressHandler = { progress, _, _, _ in
                DispatchQueue.main.sync {
                    self.progressView.progress = Float(progress)
                }
            }

            PHImageManager.default().requestImage(for: asset, targetSize: PHImageManagerMaximumSize, contentMode: .aspectFit, options: options, resultHandler: { image, _ in

                if let image = image {
                    self.originalImage = image
                } else { return }

            })
        }

此外,当图片处于超过4032 x 3024的超高分辨率级别时,应用程序将处于较慢的状态。

如果未使用PHImageManagerMaximumSize,它将更改为设备尺寸的较低分辨率。

在这一点上,有什么好方法可以将图片缩小到4,000的适当分辨率?

例如,如何将8192 x 6144的分辨率更改为4032 x 3024度。

您能帮我吗?

0 个答案:

没有答案