using System.IO; using SixLabors.ImageSharp; using Umbraco.Cms.Core.Media; using Size = System.Drawing.Size; namespace Umbraco.Cms.Infrastructure.Media { internal class ImageSharpDimensionExtractor : IImageDimensionExtractor { private readonly Configuration _configuration; /// /// Initializes a new instance of the class. /// /// The configuration. public ImageSharpDimensionExtractor(Configuration configuration) => _configuration = configuration; /// /// Gets the dimensions of an image. /// /// A stream containing the image bytes. /// /// The dimension of the image. /// public Size? GetDimensions(Stream? stream) { Size? size = null; IImageInfo imageInfo = Image.Identify(_configuration, stream); if (imageInfo != null) { size = new Size(imageInfo.Width, imageInfo.Height); } return size; } } }