显示没有 UIImage 的 base64 编码图像 [重复]
Posted
技术标签:
【中文标题】显示没有 UIImage 的 base64 编码图像 [重复]【英文标题】:Display base64 encoded image without UIImage [duplicate] 【发布时间】:2021-11-08 14:31:05 【问题描述】:我有一个base64
编码图像存储为String
。 (状态变量,因为我想定期更新图像。)我想使用Image()
类(不是UIImage
)来显示这个图像。如何将base64
图像转换为Image()
可以接受?
import SwiftUI
struct ContentView: View
@State var img_base64:String = "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBD [...]"
var body: some View
Image() // TODO: How to display img_base64 here?
【问题讨论】:
【参考方案1】:SwiftUI 的Image
是一个视图(如UIImagaView
),UIImage
是一个数据,所以你可以使用
Image(uiImage: UIImage(data: Data(base64Encoded: "<your string here>") ?? Data())!)
或
if let uiImage = UIImage(data: Data(base64Encoded: "<your string here>") ?? Data())
Image(uiImage: uiImage)
【讨论】:
根据***.com/a/60732521/2926577,在 SwiftUI 中应避免使用 UIImage,因为“这就像在 swift 中使用目标 c 代码,这对于发布新语言没有意义”。这是准确的吗?如果是,有没有办法将base64直接解析为Image()省略UIImage?以上是关于显示没有 UIImage 的 base64 编码图像 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
将 zlib 压缩的 base64 字符串转换为 Uiimage 的问题