diff --git a/kplayer/detail/EditItemView.swift b/kplayer/detail/EditItemView.swift index 95ce039..a625ece 100644 --- a/kplayer/detail/EditItemView.swift +++ b/kplayer/detail/EditItemView.swift @@ -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)") }