|
|
@ -16,7 +16,7 @@ struct SPhotoAlbumView: View { |
|
|
@State var edit = false |
|
|
@State var edit = false |
|
|
@State var embedded = false |
|
|
@State var embedded = false |
|
|
@State var embDown = false |
|
|
@State var embDown = false |
|
|
@State var faceResultImage: UIImage? = nil |
|
|
|
|
|
|
|
|
@State var faceModel: SPhotoModel? = nil |
|
|
|
|
|
|
|
|
init(completionHandler: ((Bool) -> ())?, model: SPhotoModel) { |
|
|
init(completionHandler: ((Bool) -> ())?, model: SPhotoModel) { |
|
|
self.completionHandler = completionHandler |
|
|
self.completionHandler = completionHandler |
|
|
@ -68,9 +68,9 @@ struct SPhotoAlbumView: View { |
|
|
}.task() { |
|
|
}.task() { |
|
|
model.preload() |
|
|
model.preload() |
|
|
} |
|
|
} |
|
|
.sheet(isPresented: Binding(get: { faceResultImage != nil }, set: { if !$0 { faceResultImage = nil } })) { |
|
|
|
|
|
if let img = faceResultImage { |
|
|
|
|
|
Image(uiImage: img).resizable().scaledToFit() |
|
|
|
|
|
|
|
|
.sheet(isPresented: Binding(get: { faceModel != nil }, set: { if !$0 { faceModel = nil } })) { |
|
|
|
|
|
if let fm = faceModel { |
|
|
|
|
|
SPhotoView(model: fm) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
if embedded && !more { |
|
|
if embedded && !more { |
|
|
@ -143,7 +143,10 @@ struct SPhotoAlbumView: View { |
|
|
let filename = (item.thumbUrl! as NSString).lastPathComponent |
|
|
let filename = (item.thumbUrl! as NSString).lastPathComponent |
|
|
let data = try await FaceManager.sharedInstance.processOneImage(inputImage: path+"/"+filename, sourceFace: "benchmark/" + name + ".jpg") |
|
|
let data = try await FaceManager.sharedInstance.processOneImage(inputImage: path+"/"+filename, sourceFace: "benchmark/" + name + ".jpg") |
|
|
if let img = UIImage(data: data) { |
|
|
if let img = UIImage(data: data) { |
|
|
await MainActor.run { faceResultImage = img } |
|
|
|
|
|
|
|
|
let fm = SPhotoModel(allItems: [item]) |
|
|
|
|
|
fm.timer?.invalidate() |
|
|
|
|
|
fm.image = img |
|
|
|
|
|
await MainActor.run { faceModel = fm } |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|