ios - 解码后改变图像的方向
问题描述
将解码图像分配给 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()
这是我保存到数据库的图像数据。
解决方案
您的问题可能出在您的 toBase64 方法中。它可能在编码之前将您的图像转换为 PNG 数据表示。您可以直接在 JPEG 数据中使用 Data 的方法base64EncodedString()
,将其表示编码为 base 64 编码字符串。
if let result = image.jpegData(compressionQuality: 0.6)?.base64EncodedString() {
// save your string to your database
}
推荐阅读
- ruby - Ruby - 使用类和方法的简单 ToDo 列表程序遇到问题
- java - 回收商更新卡片视图但不显示孩子
- c# - WPF ListView comsumed 自动完成文本框的焦点,因为文本框是它的 ItemsTemplate
- javascript - Firefox 扩展 - onPopupClose 事件?
- knockout.js - Knockout mapping - 只使 observableArray 的某些属性变为 observable
- c - 将 128 分配给 c 中的 char 变量
- python - 有什么区别。python中的嵌套函数和闭包函数之间
- deployment - 将 Service Fabric 应用从 Team Services 部署到 Azure
- regex - Matlab:用正则表达式替换字符串,通过插入当前匹配的部分
- python - 如何打印出一个字符串以在打印输出中有多行