给定数据及其 UTI,将其转换为 JPEG 的正确方法是什么?
PHImageManager.default().requestImageData(for: asset, options: options, resultHandler: { (imageData: Data?, dataUTI: String?, _, _) in
guard let imageData = imageData, let dataUTI = dataUTI else { return }
if !UTTypeConformsTo(dataUTI as CFString, kUTTypeJPEG) {
//TODO: Convert to JPEG
}
})
最佳答案
刚刚遇到 PHImageManager 将数据返回为 .heic 而不是 .jpeg 的问题,这对我有用:
PHImageManager.default().requestImageData(for: asset, options: PHImageRequestOptions(), resultHandler: { (data, string, orient, info) in
if string?.range(of: ".heic") != nil || string?.range(of: ".heif") != nil {
let rawImage = UIImage(data: data!)
self.uploadData = UIImageJPEGRepresentation(rawImage!, 1.0)
self.uploadName = "public.jpeg"
} else {
self.uploadData = data
self.uploadName = string
}
self.uploadFileToServer()
})
关于ios - 给定图像数据和 UTI 转换为 JPEG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44970851/