From 43cc3b83148524202d94bcf387228dc891acbb73 Mon Sep 17 00:00:00 2001 From: Bjarke Berg Date: Fri, 22 Sep 2023 10:22:25 +0200 Subject: [PATCH] Rollback unintended changes to imagesharp 2 --- .../ImageProcessors/CropWebProcessor.cs | 2 +- .../Media/ImageSharpDimensionExtractor.cs | 26 +++++++------------ .../Umbraco.Cms.Imaging.ImageSharp2.csproj | 2 +- 3 files changed, 12 insertions(+), 18 deletions(-) diff --git a/src/Umbraco.Cms.Imaging.ImageSharp2/ImageProcessors/CropWebProcessor.cs b/src/Umbraco.Cms.Imaging.ImageSharp2/ImageProcessors/CropWebProcessor.cs index 3546fa518a..eda49fa9d0 100644 --- a/src/Umbraco.Cms.Imaging.ImageSharp2/ImageProcessors/CropWebProcessor.cs +++ b/src/Umbraco.Cms.Imaging.ImageSharp2/ImageProcessors/CropWebProcessor.cs @@ -64,7 +64,7 @@ public class CropWebProcessor : IImageWebProcessor Vector2 xy2 = ExifOrientationUtilities.Transform(new Vector2(right, bottom), Vector2.Zero, Vector2.One, orientation); // Scale points to a pixel based rectangle - Size size = image.Image.Size; + Size size = image.Image.Size(); return Rectangle.Round(RectangleF.FromLTRB( MathF.Min(xy1.X, xy2.X) * size.Width, diff --git a/src/Umbraco.Cms.Imaging.ImageSharp2/Media/ImageSharpDimensionExtractor.cs b/src/Umbraco.Cms.Imaging.ImageSharp2/Media/ImageSharpDimensionExtractor.cs index f4b2c5c32c..409b6e2726 100644 --- a/src/Umbraco.Cms.Imaging.ImageSharp2/Media/ImageSharpDimensionExtractor.cs +++ b/src/Umbraco.Cms.Imaging.ImageSharp2/Media/ImageSharpDimensionExtractor.cs @@ -1,5 +1,4 @@ using SixLabors.ImageSharp; -using SixLabors.ImageSharp.Formats; using SixLabors.ImageSharp.Metadata.Profiles.Exif; using Umbraco.Cms.Core.Media; using Size = System.Drawing.Size; @@ -8,7 +7,7 @@ namespace Umbraco.Cms.Imaging.ImageSharp.Media; public sealed class ImageSharpDimensionExtractor : IImageDimensionExtractor { - private readonly DecoderOptions _decoderOptions; + private readonly Configuration _configuration; /// public IEnumerable SupportedImageFileTypes { get; } @@ -16,12 +15,12 @@ public sealed class ImageSharpDimensionExtractor : IImageDimensionExtractor /// /// Initializes a new instance of the class. /// - /// The configuration. - public ImageSharpDimensionExtractor(DecoderOptions decoderOptions) + /// The configuration. + public ImageSharpDimensionExtractor(Configuration configuration) { - _decoderOptions = decoderOptions ?? throw new ArgumentNullException(nameof(decoderOptions)); + _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); - SupportedImageFileTypes = decoderOptions.Configuration.ImageFormats.SelectMany(f => f.FileExtensions).ToArray(); + SupportedImageFileTypes = configuration.ImageFormats.SelectMany(f => f.FileExtensions).ToArray(); } /// @@ -29,12 +28,7 @@ public sealed class ImageSharpDimensionExtractor : IImageDimensionExtractor { Size? size = null; - if (stream == null) - { - return size; - } - - ImageInfo imageInfo = Image.Identify(_decoderOptions, stream); + IImageInfo imageInfo = Image.Identify(_configuration, stream); if (imageInfo != null) { size = IsExifOrientationRotated(imageInfo) @@ -45,7 +39,7 @@ public sealed class ImageSharpDimensionExtractor : IImageDimensionExtractor return size; } - private static bool IsExifOrientationRotated(ImageInfo imageInfo) + private static bool IsExifOrientationRotated(IImageInfo imageInfo) => GetExifOrientation(imageInfo) switch { ExifOrientationMode.LeftTop @@ -55,10 +49,10 @@ public sealed class ImageSharpDimensionExtractor : IImageDimensionExtractor _ => false, }; - private static ushort GetExifOrientation(ImageInfo imageInfo) + private static ushort GetExifOrientation(IImageInfo imageInfo) { - - if(imageInfo.Metadata.ExifProfile != null && imageInfo.Metadata.ExifProfile.TryGetValue(ExifTag.Orientation, out IExifValue? orientation)) + IExifValue? orientation = imageInfo.Metadata.ExifProfile?.GetValue(ExifTag.Orientation); + if (orientation is not null) { if (orientation.DataType == ExifDataType.Short) { diff --git a/src/Umbraco.Cms.Imaging.ImageSharp2/Umbraco.Cms.Imaging.ImageSharp2.csproj b/src/Umbraco.Cms.Imaging.ImageSharp2/Umbraco.Cms.Imaging.ImageSharp2.csproj index c7b75ee4e3..14c203bad6 100644 --- a/src/Umbraco.Cms.Imaging.ImageSharp2/Umbraco.Cms.Imaging.ImageSharp2.csproj +++ b/src/Umbraco.Cms.Imaging.ImageSharp2/Umbraco.Cms.Imaging.ImageSharp2.csproj @@ -5,7 +5,7 @@ - +