问题描述
我正在尝试创建一个 SwiftUI 应用程序,该应用程序的其中一个功能是将图像作为其 pngdata 保存到类中。
class Coupon: Codable,Equatable,Identifiable {
var id = UUID()
var data: [String]
var date: Date
var image: Data
init(name: String,date: String,dateobject: Date,image: UIImage,description: String) {
self.data = [name,date,description]
self.date = dateobject
self.image = image.pngData()!
}
static func == (one: Coupon,two: Coupon) -> Bool {
return one.data == two.data && one.date == two.date
}
}
但是每当我显示图像时,就像这样:
Image(uiImage: UIImage(data: coupon.image))
某些图像会颠倒旋转。
为什么会发生这种情况,我该如何解决?
解决方法
我通过挖掘解决了我自己的问题。问题是我将 UIImage
保存为 pngdata
,这使某些图像获得了更简单的新方向。只需将其保存为 jpegdata
,执行以下操作:
self.image = image.jpegData(compressionQuality: 1) ?? Data()
我能够保存方向,节省一些空间(因为 JPEG 更小),并保存我的应用程序!