当UIImagePngresentation总是返回零时,保存UIImage



我想将Coreml模型的模型输出保存到画廊中。它输出一个mlmultiarray,该mlmultiarray被转换为uiimage以在设备上显示结果图像。现在,我想将该图像保存到手机的内存中。"隐私 - 图库用法描述"one_answers"隐私 - 媒体库描述"中存在。已经找到了一些类似的问题,但无法解决问题。我尝试了以下功能:

func saveImage() {
    let imageData = UIImagePNGRepresentation(imageView.image!)
    let compressedImage = UIImage(data: imageData!)
    UIImageWriteToSavedPhotosAlbum(compressedImage!, nil, nil, nil)
    let alert = UIAlertController(title: "Saved", message: "Your image has been saved", preferredStyle: .alert)
    let okAction = UIAlertAction(title: "Ok", style: .default, handler: nil)
    alert.addAction(okAction)
    self.present(alert, animated: true, completion: nil)
}

问题是,模型输出的结果映像始终显示在设备上,但是当我尝试保存image View.image中包含的映像时,函数uiimagepngrepresentation((始终返回nil。

来自苹果文档:

func UIImagePNGRepresentation(_ image: UIImage) -> Data?

如果图像没有数据或基础CGIMAGEREF包含不支持的位图格式的数据,则此功能可能会返回无。

https://developer.apple.com/documentation/uikit/1624096-uiimagepngrepresentation

相关内容

  • 没有找到相关文章

最新更新