Browse Source

Set image transformation and rotation when loading without iterator #207

Ruben 4 months ago
parent
commit
e046cdb13b
1 changed files with 9 additions and 2 deletions
  1. 9 2
      src/PicView.Avalonia/Navigation/NavigationManager.cs

+ 9 - 2
src/PicView.Avalonia/Navigation/NavigationManager.cs

@@ -1,4 +1,5 @@
-using Avalonia.Threading;
+using System.Runtime.InteropServices;
+using Avalonia.Threading;
 using PicView.Avalonia.Crop;
 using PicView.Avalonia.Gallery;
 using PicView.Avalonia.ImageHandling;
@@ -516,7 +517,8 @@ public static class NavigationManager
         {
             await Dispatcher.UIThread.InvokeAsync(() =>
             {
-                WindowResizing.SetSize(imageModel.PixelWidth, imageModel.PixelHeight, 0, 0, imageModel.Rotation,
+                vm.ImageViewer.SetTransform(imageModel.EXIFOrientation, imageModel.Format);
+                WindowResizing.SetSize(imageModel.PixelWidth, imageModel.PixelHeight, 0, 0, vm.RotationAngle,
                     vm);
             });
         }
@@ -567,6 +569,11 @@ public static class NavigationManager
                 UpdateImage.SetStats(vm, index, imageModel);
             }
         }
+        
+        if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
+        {
+            await WindowFunctions.ResizeAndFixRenderingError(vm);
+        }
 
         vm.IsLoading = false;
         FileHistoryManager.Add(ImageIterator.ImagePaths[index]);