瀏覽代碼

normalized

Signed-off-by: Marino Faggiana <marino@marinofaggiana.com>
Marino Faggiana 2 年之前
父節點
當前提交
44842045c2

+ 8 - 15
iOSClient/Main/Create cloud/NCUploadAssets.swift

@@ -43,8 +43,8 @@ class NCHostingUploadAssetsView: NSObject {
 struct PreviewStore {
     var id: String
     var image: UIImage
+    var data: Data?
     var asset: TLPHAsset
-    var hasChanges: Bool
 }
 
 class NCUploadAssets: NSObject, ObservableObject, NCCreateFormUploadConflictDelegate {
@@ -59,13 +59,6 @@ class NCUploadAssets: NSObject, ObservableObject, NCCreateFormUploadConflictDele
     var metadatasUploadInConflict: [tableMetadata] = []
     var timer: Timer?
 
-    /*
-
-     */
-    let resizeImagePreview: Double = 300
-    let sizeImagePreview: Double = 100
-    let compressionQuality: CGFloat = 0.5
-
     init(assets: [TLPHAsset], serverUrl: String, userBaseUrl: NCUserBaseUrl) {
 
         self.assets = assets
@@ -76,8 +69,8 @@ class NCUploadAssets: NSObject, ObservableObject, NCCreateFormUploadConflictDele
     func loadImages() {
         DispatchQueue.global().async {
             for asset in self.assets {
-                guard let image = asset.fullResolutionImage?.resizeImage(size: CGSize(width: self.resizeImagePreview, height: self.resizeImagePreview), isAspectRation: true), let localIdentifier = asset.phAsset?.localIdentifier else { continue }
-                self.previewStore.append(PreviewStore(id: localIdentifier, image: image, asset: asset, hasChanges: false))
+                guard let image = asset.fullResolutionImage?.resizeImage(size: CGSize(width: 300, height: 300), isAspectRation: true), let localIdentifier = asset.phAsset?.localIdentifier else { continue }
+                self.previewStore.append(PreviewStore(id: localIdentifier, image: image, asset: asset))
             }
         }
     }
@@ -221,7 +214,7 @@ struct UploadAssetsView: View {
                                                     keyFileNameOriginal: NCGlobal.shared.keyFileNameOriginal,
                                                     forcedNewFileName: false)!
 
-            if asset.mediaSubtypes.contains(.photoLive) && CCUtility.getLivePhoto() && !previewStore.hasChanges {
+            if asset.mediaSubtypes.contains(.photoLive) && CCUtility.getLivePhoto() && previewStore.data == nil {
                 livePhoto = true
             }
 
@@ -237,7 +230,7 @@ struct UploadAssetsView: View {
             metadata.status = NCGlobal.shared.metadataStatusWaitUpload
 
             // Modified
-            if let previewStore = uploadAssets.previewStore.first(where: { $0.id == asset.localIdentifier }), previewStore.hasChanges, let data = previewStore.image.jpegData(compressionQuality: 1) {
+            if let previewStore = uploadAssets.previewStore.first(where: { $0.id == asset.localIdentifier }), let data = previewStore.data {
                 if metadata.contentType == "image/heic" {
                     let fileNameNoExtension = (fileName as NSString).deletingPathExtension
                     metadata.contentType = "image/jpeg"
@@ -274,7 +267,7 @@ struct UploadAssetsView: View {
     func presentedQuickLook(index: Int) {
 
         if let image = uploadAssets.previewStore[index].asset.fullResolutionImage {
-            if let data = image.jpegData(compressionQuality: uploadAssets.compressionQuality) {
+            if let data = image.pngData() {
                 do {
                     try data.write(to: URL(fileURLWithPath: fileNamePath))
                     self.index = index
@@ -298,10 +291,10 @@ struct UploadAssetsView: View {
                                     ZStack(alignment: .bottomTrailing) {
                                         Image(uiImage: item.image)
                                             .resizable()
-                                            .frame(width: uploadAssets.sizeImagePreview, height: uploadAssets.sizeImagePreview, alignment: .center)
+                                            .frame(width: 100, height: 100, alignment: .center)
                                             .cornerRadius(10)
                                             .scaledToFit()
-                                        if item.asset.type == .livePhoto && !item.hasChanges {
+                                        if item.asset.type == .livePhoto && item.data == nil {
                                             Image(systemName: "livephoto")
                                                 .resizable()
                                                 .scaledToFit()

+ 4 - 4
iOSClient/Viewer/NCViewerQuickLook/ViewerQuickLook.swift

@@ -33,7 +33,7 @@ struct ViewerQuickLook: UIViewControllerRepresentable {
         uploadAssets.startTimer(navigationItem: controller.navigationItem)
 
         DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
-            if uploadAssets.previewStore[index].asset.type == .livePhoto && !uploadAssets.previewStore[index].hasChanges {
+            if uploadAssets.previewStore[index].asset.type == .livePhoto && uploadAssets.previewStore[index].data == nil {
                 let error = NKError(errorCode: NCGlobal.shared.errorCharactersForbidden, errorDescription: "_message_disable_livephoto_")
                 NCContentPresenter.shared.showInfo(error: error)
             }
@@ -64,9 +64,9 @@ struct ViewerQuickLook: UIViewControllerRepresentable {
         @objc func dismiss() {
             parent.uploadAssets.stopTimer()
             parent.isPresentedQuickLook = false
-            if let image = image {
+            if let imageData = image, let image = image?.resizeImage(size: CGSize(width: 300, height: 300), isAspectRation: true) {
                 parent.uploadAssets.previewStore[parent.index].image = image
-                parent.uploadAssets.previewStore[parent.index].hasChanges = hasChange
+                parent.uploadAssets.previewStore[parent.index].data = imageData.jpegData(compressionQuality: 0.9)
             }
         }
 
@@ -96,7 +96,7 @@ struct ViewerQuickLook: UIViewControllerRepresentable {
 
         func cropViewControllerDidCrop(_ cropViewController: Mantis.CropViewController, cropped: UIImage, transformation: Mantis.Transformation, cropInfo: Mantis.CropInfo) {
             cropViewController.dismiss(animated: true)
-            guard let data = cropped.jpegData(compressionQuality: 1) else { return }
+            guard let data = cropped.pngData() else { return }
             do {
                 try data.write(to: parent.url)
                 self.image = cropped