mli*_*dal 5 ios photosframework heif
我正在维护一个应用程序,用于将照片从iPhone上传到后端服务.目前这项服务不支持新的HEIF格式,那么有没有办法让Photos框架将照片数据转换为jpeg?
我使用PHImageManager.requestImageData(for:options:resultHandler :)从映像中检索Data对象,然后将其上传到REST API.
(新解决方案,上一个没有保留EXIF信息)
要使用EXIF信息将图像获取为JPEG照片,请从HEIF图像数据中创建CIImage对象,然后使用CIContext.jpegRepresentation(of:将jpeg编码的图像获取为Data对象
let imageManager = PHImageManager.default()
var photo : PHAsset
var options : PHImageRequestOptions
imageManager.requestImageData(for: photo, options: options, resultHandler: {
imageData,dataUTI,orientation,info in
let ciImage = CIImage(data: imageData!)
if #available(iOS 10.0, *) {
data = CIContext().jpegRepresentation(of: ciImage!, colorSpace: CGColorSpaceCreateDeviceRGB())!
// upload image data
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1632 次 |
| 最近记录: |