首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将图片从UIImagePickerController保存为HEIF文件?

如何将图片从UIImagePickerController保存为HEIF文件?
EN

Stack Overflow用户
提问于 2017-11-24 17:43:58
回答 2查看 997关注 0票数 4

如何将从UIImagePickerController获取的图像视为HEIF文件?现在使用摄像头作为源类型,UIImagePickerControllerOriginalImage只为我提供UIImage。我想将HEIF格式的图像发送到服务器。假设imageExportPreset已设置为current。

EN

回答 2

Stack Overflow用户

发布于 2019-02-28 13:32:39

对于sverin的解决方案,我唯一需要调整的就是不使用ctx.workingColorSpace,因为您可能会更改图像实际所在的空间。例如,如果您将图像重新加载到UIImageView中,并且它显示为褪色,您可能会注意到这一点。

也针对Swift 4进行了更新。

代码语言:javascript
复制
do {

    let ctx = CIContext()
    let ciImage = CIImage(image: uiImage)
    try ctx.writeHEIFRepresentation(of: ciImage!, to: url, format: .RGBA8, colorSpace: ciImage.colorSpace!, options: [:])

} catch {
    print("ERROR", error.localizedDescription)
}
票数 3
EN

Stack Overflow用户

发布于 2018-08-02 23:17:55

老问题,但根据您发送数据的方式,您有两种选择。

  1. 将UIImage写入物理文件并发送。

执行{ let ctx = CIContext()让ciImage =ciImage(图像: uiImage)尝试ctx.writeHEIFRepresentation(of: ciImage!,to: url,format: kCIFormatRGBA8,colorSpace: ctx.workingColorSpace!,options:)} catch { print("ERROR",error.localizedDescription) }

  • 将UIImage写入数据并发送

让ctx = CIContext()让ciImage =ciImage(图像: uiImage)让data = ctx.heifRepresentation(of: ciImage!,format: kCIFormatRGBA8,colorSpace: ctx.workingColorSpace!,options:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47470419

复制
相关文章

相似问题

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