将图像转换为数据和反之亦然 [英] Converting an Image to Data and Vice Versa
本文介绍了将图像转换为数据和反之亦然的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在Xcode中使用swift,我需要将图像转换为数据,以便将其保存在SQLite数据库中,并在从数据库中检索数据时将数据对象转换回图像。
请帮忙吗?
Simon
I am using swift in Xcode and I need to convert an image to data in order to save it in SQLite db and also to convert the data object back to an image when I retrieve it from the database. Any help please? Simon
推荐答案
Xcode 8.3.1•Swift 3.1
要从 UIImage
转换为数据
,您可以使用 UIImagePNGRepresentation
或 UIImageJPEGRepresentation
如果你需要减小文件大小。
To convert from UIImage
to Data
you can use UIImagePNGRepresentation
or UIImageJPEGRepresentation
if you need to reduce the file size.
extension UIImage {
var jpeg: Data? {
return UIImageJPEGRepresentation(self, 1) // QUALITY min = 0 / max = 1
}
var png: Data? {
return UIImagePNGRepresentation(self)
}
}
To从数据转换回图像
你只需要使用 UIImage(数据:)
初始值设定项:
To convert back to Image from Data
you just need to use UIImage(data:)
initializer:
extension Data {
var uiImage: UIImage? {
return UIImage(data: self)
}
}
游乐场
Playground
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.uiImage {
print(imageFromData.size) // (719.0, 808.0)
}
}
if let pngData = image.png {
print(pngData.count) // 1282319
if let imageFromData = pngData.uiImage {
print(imageFromData.size) // (719.0, 808.0)
}
}
这篇关于将图像转换为数据和反之亦然的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文