繁体   English   中英

如何在 SwiftUI 中使用转换后的 jpgData 图像?

[英]How do I use a converted jpgData image in SwiftUI?

当用户从他们的照片库中选择一个项目时,应用程序使用以下代码将 UIImage 保存到应用程序的目录中:

let imageUUID = UUID()
    let filename = getDocumentsDirectory().appendingPathComponent("\(imageUUID)")
    
    guard let uiImage = newImage else { return}
    
    if let jpegData = uiImage.jpegData(compressionQuality: 0.8) {
        try? jpegData.write(to: filename, options: [.atomicWrite, .completeFileProtection])
    }

如何在视图中使用保存的图像? 谢谢!

首先,您应该将 UUID 保存在某处,以便以后可以读取该文件。 这可能在UserDefaults 、 JSON 文件、CoreData 或其他任何内容中,具体取决于您的需要。

假设您有存储在filePath中的文件的路径,您可以像这样创建一个Image

Image(uiImage: UIImage(contentsOfFile: filePath) ?? UIImage())

如果无法读取文件,这将使用空图像作为后备。

以下代码将 UIImage 转换为 SwiftUI 中的图像:

let uiImage = UIImage(contentsOfFile: path) ?? UIImage() // Access it from your storage
let image = Image(uiImage: uiImage)

有不同的 UIImage 初始化方法可用,您可以使用其中任何一种来获取 UIImage 实例。

https://developer.apple.com/documentation/swiftui/image

你会喜欢这个带有SwiftUICoredata教程: https://www.raywenderlich.com/9335365-core-data-with-swiftui-tutorial-getting-started

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM