首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将HEIF图片转换为JPEG以上传到后端

将HEIF图片转换为JPEG以上传到后端
EN

Stack Overflow用户
提问于 2017-10-15 19:51:36
回答 1查看 3.7K关注 0票数 8

我正在维护一个将照片从iPhone上传到后端服务的应用程序。目前该服务不支持新的HEIF格式,所以有任何方法让Photos框架将照片数据转换为jpeg吗?

我使用PHImageManager.requestImageData(for:options:resultHandler:)从图像中检索数据对象,然后将其上传到REST。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-28 15:46:22

(新的解决方案,之前的解决方案没有保留EXIF信息)

若要以JPEG图片的形式获取图像,请使用EXIF信息,从HEIF图像数据创建CIImage对象,并使用CIContext.jpegRepresentation(指:作为数据对象获取jpeg编码的图像。

代码语言:javascript
复制
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
}
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46759347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档