如何将从UIImagePickerController获取的图像视为HEIF文件?现在使用摄像头作为源类型,UIImagePickerControllerOriginalImage只为我提供UIImage。我想将HEIF格式的图像发送到服务器。假设imageExportPreset已设置为current。
发布于 2019-02-28 13:32:39
对于sverin的解决方案,我唯一需要调整的就是不使用ctx.workingColorSpace,因为您可能会更改图像实际所在的空间。例如,如果您将图像重新加载到UIImageView中,并且它显示为褪色,您可能会注意到这一点。
也针对Swift 4进行了更新。
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)
}发布于 2018-08-02 23:17:55
老问题,但根据您发送数据的方式,您有两种选择。
执行{ let ctx = CIContext()让ciImage =ciImage(图像: uiImage)尝试ctx.writeHEIFRepresentation(of: ciImage!,to: url,format: kCIFormatRGBA8,colorSpace: ctx.workingColorSpace!,options:)} catch { print("ERROR",error.localizedDescription) }
让ctx = CIContext()让ciImage =ciImage(图像: uiImage)让data = ctx.heifRepresentation(of: ciImage!,format: kCIFormatRGBA8,colorSpace: ctx.workingColorSpace!,options:)
https://stackoverflow.com/questions/47470419
复制相似问题