📷
【SwiftUI】Data型とUIImage型を相互変換して、画像をデータとして保存したりデータから画像を取得して表示したりする方法
この記事では、以下についてまとめています。
- データから画像を取得して表示する方法(Data型からUIImage型への変換)
- 画像をデータとして保存する方法(UIImage型からData型へ変換)
データから画像を取得して表示する方法(Data型からUIImage型への変換)
import SwiftUI
struct DataToUIImageView: View {
let imageData: Data?
var body: some View {
if let imageData, let uiImage = UIImage(data: imageData) {
Image(uiImage: uiImage)
}
}
}
画像をデータとして保存する方法(UIImage型からData型へ変換)
UIImageをDataとして保存する方法は2種類あります。
- PNGで保存
- JPEGで保存
1. PNGで保存
import SwiftUI
struct UIImageToDataView: View {
@AppStorage("imageData") var imageData: Data?
let uiImage: UIImage?
var body: some View {
Button("保存") {
guard let uiImage = uiImage else { return }
imageData = uiImage.pngData()
}
}
}
2. JPEGで保存
import SwiftUI
struct UIImageToDataView: View {
@AppStorage("imageData") var imageData: Data?
let uiImage: UIImage?
var body: some View {
Button("保存") {
guard let uiImage = uiImage else { return }
imageData = uiImage.jpegData(compressionQuality: 0.5)
}
}
}
Discussion