我正在创建一个简单的照片应用程序。 下面的代码是调用图片的代码。它通常可以正常工作,但是同时使用基本照片应用程序的剪切功能时会出现问题。
例如,图片的分辨率为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度。
您能帮我吗?