|
|
|
@ -197,15 +197,27 @@ struct EditItemView: View { |
|
|
|
|
|
|
|
Task { |
|
|
|
if snap { |
|
|
|
let imagePath = item.imageUrlAbsolute.replacing("http://linkstation:8089/ren", with: "z:").replacing("_thumb", with: "") |
|
|
|
let imageURL = URL(string: item.imageUrlAbsolute.replacing("_thumb", with: ""))! |
|
|
|
do { |
|
|
|
let data = try await FaceManager.sharedInstance.processOneImage(inputImage: imagePath, sourceFace: "benchmark/" + name + ".jpg") |
|
|
|
let imageData: Data |
|
|
|
if let pasteboardImage = UIPasteboard.general.image, |
|
|
|
let jpegData = pasteboardImage.jpegData(compressionQuality: 0.9) { |
|
|
|
imageData = jpegData |
|
|
|
} else { |
|
|
|
(imageData, _) = try await URLSession.shared.data(from: imageURL) |
|
|
|
} |
|
|
|
let base64Image = imageData.base64EncodedString() |
|
|
|
let data = try await FaceManager.sharedInstance.processOneImage(inputImage: base64Image, sourceFace: "benchmark/" + name + ".jpg") |
|
|
|
if let img = UIImage(data: data) { |
|
|
|
let fm = SPhotoModel(allItems: [item]) |
|
|
|
fm.timer?.invalidate() |
|
|
|
fm.image = img |
|
|
|
// delegate.cancelEdit() |
|
|
|
await MainActor.run { faceModel = fm } |
|
|
|
} |
|
|
|
else { |
|
|
|
delegate.cancelEdit() |
|
|
|
} |
|
|
|
} catch { |
|
|
|
print("Error processing image: \(error)") |
|
|
|
} |
|
|
|
|