XcodeでSwiftを使用しており、SQLite dbに保存するために画像をデータに変換する必要があります。また、データベースから取得するときにデータオブジェクトを画像に戻す必要があります。 。何か助けてください?サイモン
Swift 5.1以降
UIImage
からData
に変換するには、ファイルサイズを小さくする必要がある場合は、UIImagePNGRepresentation
またはUIImageJPEGRepresentation
を使用できます。
_extension UIImage {
var jpeg: Data? { jpegData(compressionQuality: 1) } // QUALITY min = 0 / max = 1
var png: Data? { pngData() }
}
_
Data
からImageに戻すには、UIImage(data:)
初期化子を使用する必要があります。
_extension Data {
var uiImage: UIImage? { UIImage(data: self) }
}
_
遊び場
_let image = UIImage(data: try! Data(contentsOf: URL(string: "https://i.stack.imgur.com/Xs4RX.jpg")!))!
if let jpegData = image.jpeg {
print(jpegData.count) // 416318 number of bytes contained by the data object
if let imageFromData = jpegData.image {
print(imageFromData.size) // (719.0, 808.0)
}
}
if let pngData = image.png {
print(pngData.count) // 1282319
if let imageFromData = pngData.image {
print(imageFromData.size) // (719.0, 808.0)
}
}
_