首页 > 解决方案 > 解码后改变图像的方向

问题描述

将解码图像分配给 imageview 时,图像的方向不正确。

这就是它分配给图像视图的方式..

 @IBAction func imageClicked(_ sender: Any) {

    if let decodedData = Data(base64Encoded: result, options: .ignoreUnknownCharacters) {

          let image = UIImage(data: decodedData)
          myImageView.image = image
    }

}

并不是图像总是有错误的方向。有时方向很好,有时方向不正确。我怎样才能解决这个问题..?浏览了许多SO帖子..但还没有得到想要的结果..

编辑 1这就是我将它压缩到 base64 的方式

let imageData = image.jpegData(compressionQuality: 0.6)
 let compressedJPGImage = UIImage(data: imageData!)
 let img_Data = compressedJPGImage?.toBase64()

这是我保存到数据库的图像数据。

标签: iosswiftimage

解决方案


您的问题可能出在您的 toBase64 方法中。它可能在编码之前将您的图像转换为 PNG 数据表示。您可以直接在 JPEG 数据中使用 Data 的方法base64EncodedString(),将其表示编码为 base 64 编码字符串。

if let result = image.jpegData(compressionQuality: 0.6)?.base64EncodedString() {
    // save your string to your database
}

推荐阅读