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 @@
-
+