diff --git a/src/ImageSharp.Drawing/Processors/DrawImageProcessor.cs b/src/ImageSharp.Drawing/Processors/DrawImageProcessor.cs
index dcf71bde0..53997b618 100644
--- a/src/ImageSharp.Drawing/Processors/DrawImageProcessor.cs
+++ b/src/ImageSharp.Drawing/Processors/DrawImageProcessor.cs
@@ -4,7 +4,6 @@
using System;
using System.Threading.Tasks;
using SixLabors.ImageSharp.Advanced;
-using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.Memory;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing.Processors;
diff --git a/src/ImageSharp/Advanced/AdvancedImageExtensions.cs b/src/ImageSharp/Advanced/AdvancedImageExtensions.cs
index 24d2dd4cc..cbd8db748 100644
--- a/src/ImageSharp/Advanced/AdvancedImageExtensions.cs
+++ b/src/ImageSharp/Advanced/AdvancedImageExtensions.cs
@@ -26,7 +26,7 @@ namespace SixLabors.ImageSharp.Advanced
///
/// Returns a reference to the 0th element of the Pixel buffer,
/// allowing direct manipulation of pixel data through unsafe operations.
- /// The pixel buffer is a contigous memory area containing Width*Height TPixel elements layed out in row-major order.
+ /// The pixel buffer is a contiguous memory area containing Width*Height TPixel elements laid out in row-major order.
///
/// The Pixel format.
/// The source image frame
diff --git a/src/ImageSharp/Advanced/IPixelSource.cs b/src/ImageSharp/Advanced/IPixelSource.cs
index c9edf118c..a321e877b 100644
--- a/src/ImageSharp/Advanced/IPixelSource.cs
+++ b/src/ImageSharp/Advanced/IPixelSource.cs
@@ -1,10 +1,7 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
-using System;
-using SixLabors.ImageSharp.Advanced;
using SixLabors.ImageSharp.Memory;
-using SixLabors.ImageSharp.MetaData;
using SixLabors.ImageSharp.PixelFormats;
namespace SixLabors.ImageSharp.Advanced
diff --git a/src/ImageSharp/Formats/Jpeg/Common/Decoder/JpegImagePostProcessor.cs b/src/ImageSharp/Formats/Jpeg/Common/Decoder/JpegImagePostProcessor.cs
index 2adf3e02d..483242c76 100644
--- a/src/ImageSharp/Formats/Jpeg/Common/Decoder/JpegImagePostProcessor.cs
+++ b/src/ImageSharp/Formats/Jpeg/Common/Decoder/JpegImagePostProcessor.cs
@@ -2,7 +2,6 @@ using System;
using System.Linq;
using System.Numerics;
using SixLabors.ImageSharp.Advanced;
-using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.Memory;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.Primitives;
@@ -116,7 +115,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Common.Decoder
}
///
- /// Execute one step rocessing pixel rows into 'destination'.
+ /// Execute one step processing pixel rows into 'destination'.
///
/// The pixel type
/// The destination image.
diff --git a/src/ImageSharp/Helpers/ImageExtensions.cs b/src/ImageSharp/Helpers/ImageExtensions.cs
deleted file mode 100644
index dbf2e34a4..000000000
--- a/src/ImageSharp/Helpers/ImageExtensions.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the Apache License, Version 2.0.
-
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Runtime.CompilerServices;
-using System.Text;
-using SixLabors.ImageSharp.Advanced;
-using SixLabors.ImageSharp.Formats;
-using SixLabors.ImageSharp.PixelFormats;
-using SixLabors.Primitives;
-
-namespace SixLabors.ImageSharp.Helpers
-{
- ///
- /// Extension methods over Image{TPixel}
- ///
- public static partial class ImageExtensions
- {
- ///
- /// Gets the bounds of the image.
- ///
- /// The Pixel format.
- /// The source image
- /// Returns the bounds of the image
- public static Rectangle Bounds(this Image source)
- where TPixel : struct, IPixel
- => new Rectangle(0, 0, source.Width, source.Height);
-
- ///
- /// Gets the bounds of the image.
- ///
- /// The Pixel format.
- /// The source image
- /// Returns the bounds of the image
- public static Rectangle Bounds(this ImageFrame source)
- where TPixel : struct, IPixel
- => new Rectangle(0, 0, source.Width, source.Height);
-
- ///
- /// Gets the size of the image.
- ///
- /// The Pixel format.
- /// The source image
- /// Returns the bounds of the image
- public static Size Size(this Image source)
- where TPixel : struct, IPixel
- => new Size(source.Width, source.Height);
-
- ///
- /// Gets the size of the image.
- ///
- /// The Pixel format.
- /// The source image
- /// Returns the bounds of the image
- public static Size Size(this ImageFrame source)
- where TPixel : struct, IPixel
- => new Size(source.Width, source.Height);
- }
-}
diff --git a/src/ImageSharp/IImage.cs b/src/ImageSharp/IImage.cs
new file mode 100644
index 000000000..4612daa2d
--- /dev/null
+++ b/src/ImageSharp/IImage.cs
@@ -0,0 +1,26 @@
+// Copyright (c) Six Labors and contributors.
+// Licensed under the Apache License, Version 2.0.
+
+using System;
+using SixLabors.Primitives;
+
+namespace SixLabors.ImageSharp
+{
+ ///
+ /// Encapsulates the properties and methods that describe an image.
+ ///
+ public interface IImage : IImageInfo, IDisposable
+ {
+ ///
+ /// Gets the size of the image.
+ ///
+ /// The
+ Size Size();
+
+ ///
+ /// Gets the bounds of the image.
+ ///
+ /// The
+ Rectangle Bounds();
+ }
+}
\ No newline at end of file
diff --git a/src/ImageSharp/Image/IImageFrameCollection.cs b/src/ImageSharp/IImageFrameCollection.cs
similarity index 100%
rename from src/ImageSharp/Image/IImageFrameCollection.cs
rename to src/ImageSharp/IImageFrameCollection.cs
diff --git a/src/ImageSharp/Image/IImageInfo.cs b/src/ImageSharp/IImageInfo.cs
similarity index 100%
rename from src/ImageSharp/Image/IImageInfo.cs
rename to src/ImageSharp/IImageInfo.cs
diff --git a/src/ImageSharp/Image/Image.Decode.cs b/src/ImageSharp/Image.Decode.cs
similarity index 100%
rename from src/ImageSharp/Image/Image.Decode.cs
rename to src/ImageSharp/Image.Decode.cs
diff --git a/src/ImageSharp/Image/Image.FromBytes.cs b/src/ImageSharp/Image.FromBytes.cs
similarity index 100%
rename from src/ImageSharp/Image/Image.FromBytes.cs
rename to src/ImageSharp/Image.FromBytes.cs
diff --git a/src/ImageSharp/Image/Image.FromFile.cs b/src/ImageSharp/Image.FromFile.cs
similarity index 100%
rename from src/ImageSharp/Image/Image.FromFile.cs
rename to src/ImageSharp/Image.FromFile.cs
diff --git a/src/ImageSharp/Image/Image.FromStream.cs b/src/ImageSharp/Image.FromStream.cs
similarity index 100%
rename from src/ImageSharp/Image/Image.FromStream.cs
rename to src/ImageSharp/Image.FromStream.cs
diff --git a/src/ImageSharp/Image/Image.LoadPixelData.cs b/src/ImageSharp/Image.LoadPixelData.cs
similarity index 100%
rename from src/ImageSharp/Image/Image.LoadPixelData.cs
rename to src/ImageSharp/Image.LoadPixelData.cs
diff --git a/src/ImageSharp/Image/IImage.cs b/src/ImageSharp/Image/IImage.cs
deleted file mode 100644
index b9e2cee61..000000000
--- a/src/ImageSharp/Image/IImage.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright (c) Six Labors and contributors.
-// Licensed under the Apache License, Version 2.0.
-
-using System;
-
-namespace SixLabors.ImageSharp
-{
- ///
- /// Encapsulates the properties and methods that describe an image.
- ///
- public interface IImage : IImageInfo, IDisposable
- {
- }
-}
\ No newline at end of file
diff --git a/src/ImageSharp/Image/ImageExtensions.cs b/src/ImageSharp/ImageExtensions.cs
similarity index 100%
rename from src/ImageSharp/Image/ImageExtensions.cs
rename to src/ImageSharp/ImageExtensions.cs
diff --git a/src/ImageSharp/Image/ImageFrame.LoadPixelData.cs b/src/ImageSharp/ImageFrame.LoadPixelData.cs
similarity index 100%
rename from src/ImageSharp/Image/ImageFrame.LoadPixelData.cs
rename to src/ImageSharp/ImageFrame.LoadPixelData.cs
diff --git a/src/ImageSharp/Image/ImageFrameCollection.cs b/src/ImageSharp/ImageFrameCollection.cs
similarity index 100%
rename from src/ImageSharp/Image/ImageFrameCollection.cs
rename to src/ImageSharp/ImageFrameCollection.cs
diff --git a/src/ImageSharp/Image/ImageFrame{TPixel}.cs b/src/ImageSharp/ImageFrame{TPixel}.cs
similarity index 94%
rename from src/ImageSharp/Image/ImageFrame{TPixel}.cs
rename to src/ImageSharp/ImageFrame{TPixel}.cs
index 833a22f7c..888aff905 100644
--- a/src/ImageSharp/Image/ImageFrame{TPixel}.cs
+++ b/src/ImageSharp/ImageFrame{TPixel}.cs
@@ -2,12 +2,10 @@
// Licensed under the Apache License, Version 2.0.
using System;
-using System.Diagnostics;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Threading.Tasks;
using SixLabors.ImageSharp.Advanced;
-using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.Memory;
using SixLabors.ImageSharp.MetaData;
using SixLabors.ImageSharp.PixelFormats;
@@ -104,7 +102,7 @@ namespace SixLabors.ImageSharp
///
/// Gets the meta data of the frame.
///
- public ImageFrameMetaData MetaData { get; private set; }
+ public ImageFrameMetaData MetaData { get; }
///
/// Gets or sets the pixel at the specified position.
@@ -127,6 +125,18 @@ namespace SixLabors.ImageSharp
}
}
+ ///
+ /// Gets the size of the frame.
+ ///
+ /// The
+ public Size Size() => new Size(this.Width, this.Height);
+
+ ///
+ /// Gets the bounds of the frame.
+ ///
+ /// The
+ public Rectangle Bounds() => new Rectangle(0, 0, this.Width, this.Height);
+
///
/// Gets a reference to the pixel at the specified position.
///
@@ -168,7 +178,7 @@ namespace SixLabors.ImageSharp
{
if (this.Size() != target.Size())
{
- throw new ArgumentException("ImageFrame.CopyTo(): target must be of the same size!", nameof(target));
+ throw new ArgumentException("ImageFrame.CopyTo(): target must be of the same size!", nameof(target));
}
SpanHelper.Copy(this.GetPixelSpan(), target.Span);
diff --git a/src/ImageSharp/Image/ImageInfo.cs b/src/ImageSharp/ImageInfo.cs
similarity index 100%
rename from src/ImageSharp/Image/ImageInfo.cs
rename to src/ImageSharp/ImageInfo.cs
diff --git a/src/ImageSharp/Image/Image{TPixel}.cs b/src/ImageSharp/Image{TPixel}.cs
similarity index 94%
rename from src/ImageSharp/Image/Image{TPixel}.cs
rename to src/ImageSharp/Image{TPixel}.cs
index f264d8a59..66ae13db8 100644
--- a/src/ImageSharp/Image/Image{TPixel}.cs
+++ b/src/ImageSharp/Image{TPixel}.cs
@@ -10,6 +10,7 @@ using SixLabors.ImageSharp.Advanced;
using SixLabors.ImageSharp.Formats;
using SixLabors.ImageSharp.MetaData;
using SixLabors.ImageSharp.PixelFormats;
+using SixLabors.Primitives;
namespace SixLabors.ImageSharp
{
@@ -20,8 +21,8 @@ namespace SixLabors.ImageSharp
public sealed partial class Image : IImage, IConfigurable
where TPixel : struct, IPixel
{
- private Configuration configuration;
- private ImageFrameCollection frames;
+ private readonly Configuration configuration;
+ private readonly ImageFrameCollection frames;
///
/// Initializes a new instance of the class
@@ -44,7 +45,7 @@ namespace SixLabors.ImageSharp
/// The width of the image in pixels.
/// The height of the image in pixels.
public Image(int width, int height)
- : this(null, width, height)
+ : this(Configuration.Default, width, height)
{
}
@@ -97,7 +98,7 @@ namespace SixLabors.ImageSharp
public int Height => this.frames.RootFrame.Height;
///
- public ImageMetaData MetaData { get; private set; } = new ImageMetaData();
+ public ImageMetaData MetaData { get; }
///
/// Gets the frames.
@@ -122,6 +123,12 @@ namespace SixLabors.ImageSharp
set => this.PixelSource.PixelBuffer[x, y] = value;
}
+ ///
+ public Size Size() => new Size(this.Width, this.Height);
+
+ ///
+ public Rectangle Bounds() => new Rectangle(0, 0, this.Width, this.Height);
+
///
/// Saves the image to the given stream using the given image encoder.
///
diff --git a/src/ImageSharp/Image/PixelAccessorExtensions.cs b/src/ImageSharp/PixelAccessorExtensions.cs
similarity index 100%
rename from src/ImageSharp/Image/PixelAccessorExtensions.cs
rename to src/ImageSharp/PixelAccessorExtensions.cs
diff --git a/src/ImageSharp/Image/PixelAccessor{TPixel}.cs b/src/ImageSharp/PixelAccessor{TPixel}.cs
similarity index 100%
rename from src/ImageSharp/Image/PixelAccessor{TPixel}.cs
rename to src/ImageSharp/PixelAccessor{TPixel}.cs
diff --git a/src/ImageSharp/Processing/Binarization/Processors/BinaryErrorDiffusionProcessor.cs b/src/ImageSharp/Processing/Binarization/Processors/BinaryErrorDiffusionProcessor.cs
index 74a3fdd86..6588bbe5b 100644
--- a/src/ImageSharp/Processing/Binarization/Processors/BinaryErrorDiffusionProcessor.cs
+++ b/src/ImageSharp/Processing/Binarization/Processors/BinaryErrorDiffusionProcessor.cs
@@ -3,7 +3,6 @@
using System;
using SixLabors.ImageSharp.Advanced;
-using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing.Dithering.ErrorDiffusion;
using SixLabors.ImageSharp.Processing.Processors;
diff --git a/src/ImageSharp/Processing/Binarization/Processors/BinaryOrderedDitherProcessor.cs b/src/ImageSharp/Processing/Binarization/Processors/BinaryOrderedDitherProcessor.cs
index 9f0314449..bd4b3660a 100644
--- a/src/ImageSharp/Processing/Binarization/Processors/BinaryOrderedDitherProcessor.cs
+++ b/src/ImageSharp/Processing/Binarization/Processors/BinaryOrderedDitherProcessor.cs
@@ -3,7 +3,6 @@
using System;
using SixLabors.ImageSharp.Advanced;
-using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing.Dithering.Ordered;
using SixLabors.ImageSharp.Processing.Processors;
diff --git a/src/ImageSharp/Processing/Binarization/Processors/BinaryThresholdProcessor.cs b/src/ImageSharp/Processing/Binarization/Processors/BinaryThresholdProcessor.cs
index 3c29194f6..455c6ad8c 100644
--- a/src/ImageSharp/Processing/Binarization/Processors/BinaryThresholdProcessor.cs
+++ b/src/ImageSharp/Processing/Binarization/Processors/BinaryThresholdProcessor.cs
@@ -4,7 +4,6 @@
using System;
using System.Threading.Tasks;
using SixLabors.ImageSharp.Advanced;
-using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing.Processors;
using SixLabors.Primitives;
diff --git a/src/ImageSharp/Processing/Convolution/Processors/Convolution2PassProcessor.cs b/src/ImageSharp/Processing/Convolution/Processors/Convolution2PassProcessor.cs
index 0a3393315..8f96546ae 100644
--- a/src/ImageSharp/Processing/Convolution/Processors/Convolution2PassProcessor.cs
+++ b/src/ImageSharp/Processing/Convolution/Processors/Convolution2PassProcessor.cs
@@ -4,7 +4,6 @@
using System;
using System.Numerics;
using System.Threading.Tasks;
-using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.Memory;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Primitives;
@@ -63,7 +62,7 @@ namespace SixLabors.ImageSharp.Processing.Convolution.Processors
/// The structure that specifies the portion of the image object to draw.
///
/// The kernel operator.
- /// The parellel options
+ /// The parallel options
private void ApplyConvolution(
Buffer2D targetPixels,
Buffer2D sourcePixels,
diff --git a/src/ImageSharp/Processing/Convolution/Processors/ConvolutionProcessor.cs b/src/ImageSharp/Processing/Convolution/Processors/ConvolutionProcessor.cs
index ee7d93a03..8f7a1caab 100644
--- a/src/ImageSharp/Processing/Convolution/Processors/ConvolutionProcessor.cs
+++ b/src/ImageSharp/Processing/Convolution/Processors/ConvolutionProcessor.cs
@@ -5,7 +5,6 @@ using System;
using System.Numerics;
using System.Threading.Tasks;
using SixLabors.ImageSharp.Advanced;
-using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.Memory;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Primitives;
diff --git a/src/ImageSharp/Processing/DefaultInternalImageProcessorContext.cs b/src/ImageSharp/Processing/DefaultInternalImageProcessorContext.cs
index 05760bb04..b71430e13 100644
--- a/src/ImageSharp/Processing/DefaultInternalImageProcessorContext.cs
+++ b/src/ImageSharp/Processing/DefaultInternalImageProcessorContext.cs
@@ -2,7 +2,6 @@
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.Advanced;
-using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.Memory;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing.Processors;
@@ -81,9 +80,6 @@ namespace SixLabors.ImageSharp.Processing
return this.ApplyProcessor(processor, this.GetCurrentBounds());
}
- private Rectangle GetCurrentBounds()
- {
- return this.destination?.Bounds() ?? this.source.Bounds();
- }
+ private Rectangle GetCurrentBounds() => this.destination?.Bounds() ?? this.source.Bounds();
}
}
\ No newline at end of file
diff --git a/src/ImageSharp/Processing/Dithering/Processors/ErrorDiffusionPaletteProcessor.cs b/src/ImageSharp/Processing/Dithering/Processors/ErrorDiffusionPaletteProcessor.cs
index 05eb5d0e3..c90e91a6b 100644
--- a/src/ImageSharp/Processing/Dithering/Processors/ErrorDiffusionPaletteProcessor.cs
+++ b/src/ImageSharp/Processing/Dithering/Processors/ErrorDiffusionPaletteProcessor.cs
@@ -3,7 +3,6 @@
using System;
using SixLabors.ImageSharp.Advanced;
-using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing.Dithering.ErrorDiffusion;
using SixLabors.ImageSharp.Processing.Processors;
diff --git a/src/ImageSharp/Processing/Dithering/Processors/OrderedDitherPaletteProcessor.cs b/src/ImageSharp/Processing/Dithering/Processors/OrderedDitherPaletteProcessor.cs
index 713800cb1..ce9b7fb3e 100644
--- a/src/ImageSharp/Processing/Dithering/Processors/OrderedDitherPaletteProcessor.cs
+++ b/src/ImageSharp/Processing/Dithering/Processors/OrderedDitherPaletteProcessor.cs
@@ -3,7 +3,6 @@
using System;
using SixLabors.ImageSharp.Advanced;
-using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing.Dithering.Ordered;
using SixLabors.ImageSharp.Processing.Processors;
diff --git a/src/ImageSharp/Processing/Effects/Processors/OilPaintingProcessor.cs b/src/ImageSharp/Processing/Effects/Processors/OilPaintingProcessor.cs
index 2bf35d220..9a6d93d1a 100644
--- a/src/ImageSharp/Processing/Effects/Processors/OilPaintingProcessor.cs
+++ b/src/ImageSharp/Processing/Effects/Processors/OilPaintingProcessor.cs
@@ -5,7 +5,6 @@ using System;
using System.Numerics;
using System.Threading.Tasks;
using SixLabors.ImageSharp.Advanced;
-using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.Memory;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing.Processors;
diff --git a/src/ImageSharp/Processing/Filters/Processors/FilterProcessor.cs b/src/ImageSharp/Processing/Filters/Processors/FilterProcessor.cs
index 5267a36b4..18163b754 100644
--- a/src/ImageSharp/Processing/Filters/Processors/FilterProcessor.cs
+++ b/src/ImageSharp/Processing/Filters/Processors/FilterProcessor.cs
@@ -5,7 +5,6 @@ using System;
using System.Numerics;
using System.Threading.Tasks;
using SixLabors.ImageSharp.Advanced;
-using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing.Processors;
using SixLabors.Primitives;
diff --git a/src/ImageSharp/Processing/Overlays/Processors/GlowProcessor.cs b/src/ImageSharp/Processing/Overlays/Processors/GlowProcessor.cs
index 22250cc18..5f9b8f5af 100644
--- a/src/ImageSharp/Processing/Overlays/Processors/GlowProcessor.cs
+++ b/src/ImageSharp/Processing/Overlays/Processors/GlowProcessor.cs
@@ -5,7 +5,6 @@ using System;
using System.Numerics;
using System.Threading.Tasks;
using SixLabors.ImageSharp.Advanced;
-using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.Memory;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Primitives;
diff --git a/src/ImageSharp/Processing/Overlays/Processors/VignetteProcessor.cs b/src/ImageSharp/Processing/Overlays/Processors/VignetteProcessor.cs
index 364eb0b79..961c0f9f0 100644
--- a/src/ImageSharp/Processing/Overlays/Processors/VignetteProcessor.cs
+++ b/src/ImageSharp/Processing/Overlays/Processors/VignetteProcessor.cs
@@ -5,7 +5,6 @@ using System;
using System.Numerics;
using System.Threading.Tasks;
using SixLabors.ImageSharp.Advanced;
-using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.Memory;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Primitives;
@@ -92,8 +91,9 @@ namespace SixLabors.ImageSharp.Processing.Overlays.Processors
TPixel vignetteColor = this.VignetteColor;
Vector2 centre = Rectangle.Center(sourceRectangle);
- float finalRadiusX = this.RadiusX.Calculate(source.Size());
- float finalRadiusY = this.RadiusY.Calculate(source.Size());
+ Size sourceSize = source.Size();
+ float finalRadiusX = this.RadiusX.Calculate(sourceSize);
+ float finalRadiusY = this.RadiusY.Calculate(sourceSize);
float rX = finalRadiusX > 0 ? MathF.Min(finalRadiusX, sourceRectangle.Width * .5F) : sourceRectangle.Width * .5F;
float rY = finalRadiusY > 0 ? MathF.Min(finalRadiusY, sourceRectangle.Height * .5F) : sourceRectangle.Height * .5F;
float maxDistance = MathF.Sqrt((rX * rX) + (rY * rY));
diff --git a/src/ImageSharp/Processing/Transforms/Processors/AffineTransformProcessor.cs b/src/ImageSharp/Processing/Transforms/Processors/AffineTransformProcessor.cs
index 3a58ed787..b9f3dc4bf 100644
--- a/src/ImageSharp/Processing/Transforms/Processors/AffineTransformProcessor.cs
+++ b/src/ImageSharp/Processing/Transforms/Processors/AffineTransformProcessor.cs
@@ -7,7 +7,6 @@ using System.Linq;
using System.Numerics;
using System.Threading.Tasks;
using SixLabors.ImageSharp.Advanced;
-using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.Memory;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing.Transforms.Resamplers;
diff --git a/src/ImageSharp/Processing/Transforms/Processors/FlipProcessor.cs b/src/ImageSharp/Processing/Transforms/Processors/FlipProcessor.cs
index 9d945a869..4c6cb166b 100644
--- a/src/ImageSharp/Processing/Transforms/Processors/FlipProcessor.cs
+++ b/src/ImageSharp/Processing/Transforms/Processors/FlipProcessor.cs
@@ -4,7 +4,6 @@
using System;
using System.Threading.Tasks;
using SixLabors.ImageSharp.Advanced;
-using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.Memory;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing.Processors;
diff --git a/src/ImageSharp/Processing/Transforms/Processors/ProjectiveTransformProcessor.cs b/src/ImageSharp/Processing/Transforms/Processors/ProjectiveTransformProcessor.cs
index 9f68ab6ca..eb40c3f87 100644
--- a/src/ImageSharp/Processing/Transforms/Processors/ProjectiveTransformProcessor.cs
+++ b/src/ImageSharp/Processing/Transforms/Processors/ProjectiveTransformProcessor.cs
@@ -7,7 +7,6 @@ using System.Linq;
using System.Numerics;
using System.Threading.Tasks;
using SixLabors.ImageSharp.Advanced;
-using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.Memory;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing.Transforms.Resamplers;
diff --git a/src/ImageSharp/Processing/Transforms/Processors/RotateProcessor.cs b/src/ImageSharp/Processing/Transforms/Processors/RotateProcessor.cs
index 6835fbb25..0cf42cbb7 100644
--- a/src/ImageSharp/Processing/Transforms/Processors/RotateProcessor.cs
+++ b/src/ImageSharp/Processing/Transforms/Processors/RotateProcessor.cs
@@ -4,7 +4,6 @@
using System;
using System.Threading.Tasks;
using SixLabors.ImageSharp.Advanced;
-using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.MetaData.Profiles.Exif;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing.Transforms.Resamplers;
diff --git a/src/ImageSharp/Image/ReadOrigin.cs b/src/ImageSharp/ReadOrigin.cs
similarity index 100%
rename from src/ImageSharp/Image/ReadOrigin.cs
rename to src/ImageSharp/ReadOrigin.cs
diff --git a/tests/ImageSharp.Benchmarks/Samplers/Glow.cs b/tests/ImageSharp.Benchmarks/Samplers/Glow.cs
index 261241a69..51b136649 100644
--- a/tests/ImageSharp.Benchmarks/Samplers/Glow.cs
+++ b/tests/ImageSharp.Benchmarks/Samplers/Glow.cs
@@ -10,14 +10,12 @@ namespace SixLabors.ImageSharp.Benchmarks
using SixLabors.ImageSharp.PixelFormats;
using CoreSize = SixLabors.Primitives.Size;
- using SixLabors.ImageSharp.Processing;
using System.Numerics;
using System;
using System.Threading.Tasks;
using SixLabors.ImageSharp.Memory;
using SixLabors.Primitives;
- using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.Processing.Overlays.Processors;
using SixLabors.ImageSharp.Processing.Processors;
diff --git a/tests/ImageSharp.Tests/Drawing/DrawImageTest.cs b/tests/ImageSharp.Tests/Drawing/DrawImageTest.cs
index 07f3aa554..e36396a4e 100644
--- a/tests/ImageSharp.Tests/Drawing/DrawImageTest.cs
+++ b/tests/ImageSharp.Tests/Drawing/DrawImageTest.cs
@@ -3,7 +3,6 @@
using System;
using System.Numerics;
-using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.Processing;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.Primitives;
diff --git a/tests/ImageSharp.Tests/FakeImageOperationsProvider.cs b/tests/ImageSharp.Tests/FakeImageOperationsProvider.cs
index 294cbc0a1..cc2143afe 100644
--- a/tests/ImageSharp.Tests/FakeImageOperationsProvider.cs
+++ b/tests/ImageSharp.Tests/FakeImageOperationsProvider.cs
@@ -3,7 +3,6 @@
using System.Collections.Generic;
using System.Linq;
-using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.Advanced;
using SixLabors.ImageSharp.Memory;
using SixLabors.ImageSharp.PixelFormats;
diff --git a/tests/ImageSharp.Tests/Formats/Jpg/GenericBlock8x8Tests.cs b/tests/ImageSharp.Tests/Formats/Jpg/GenericBlock8x8Tests.cs
index 193e26fcb..31c95fae6 100644
--- a/tests/ImageSharp.Tests/Formats/Jpg/GenericBlock8x8Tests.cs
+++ b/tests/ImageSharp.Tests/Formats/Jpg/GenericBlock8x8Tests.cs
@@ -2,12 +2,9 @@
namespace SixLabors.ImageSharp.Tests.Formats.Jpg
{
using System;
- using System.Numerics;
using SixLabors.ImageSharp.Formats.Jpeg.Common;
- using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.PixelFormats;
- using SixLabors.Primitives;
using Xunit;
diff --git a/tests/ImageSharp.Tests/Image/ImageRotationTests.cs b/tests/ImageSharp.Tests/Image/ImageRotationTests.cs
index a18b8326a..29c1cb871 100644
--- a/tests/ImageSharp.Tests/Image/ImageRotationTests.cs
+++ b/tests/ImageSharp.Tests/Image/ImageRotationTests.cs
@@ -1,7 +1,6 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
-using SixLabors.ImageSharp.Helpers;
using SixLabors.Primitives;
using Xunit;
diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeTests.cs
index 82abb9028..46e7b119e 100644
--- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeTests.cs
@@ -2,7 +2,6 @@
// Licensed under the Apache License, Version 2.0.
using System;
-using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing;
using SixLabors.ImageSharp.Processing.Transforms.Resamplers;
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/AffineTransformTests.cs b/tests/ImageSharp.Tests/Processing/Transforms/AffineTransformTests.cs
index 6637b9740..02144e073 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/AffineTransformTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/AffineTransformTests.cs
@@ -7,7 +7,6 @@ using SixLabors.ImageSharp.Processing.Transforms.Resamplers;
using SixLabors.Primitives;
using Xunit;
using Xunit.Abstractions;
-using SixLabors.ImageSharp.Helpers;
// ReSharper disable InconsistentNaming
namespace SixLabors.ImageSharp.Tests.Processing.Transforms
diff --git a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ExactImageComparer.cs b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ExactImageComparer.cs
index dbe252366..32ff87be6 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ExactImageComparer.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ExactImageComparer.cs
@@ -3,7 +3,6 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison
using System;
using System.Collections.Generic;
using SixLabors.ImageSharp.Advanced;
- using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.Primitives;
diff --git a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageComparer.cs b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageComparer.cs
index 920e63379..ca7d7c6a8 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageComparer.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageComparer.cs
@@ -4,7 +4,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
-using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.Primitives;
diff --git a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/TolerantImageComparer.cs b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/TolerantImageComparer.cs
index e68a1fbfe..52ea7e45d 100644
--- a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/TolerantImageComparer.cs
+++ b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/TolerantImageComparer.cs
@@ -5,7 +5,6 @@
using System.Runtime.CompilerServices;
using SixLabors.ImageSharp.Advanced;
- using SixLabors.ImageSharp.Helpers;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.Primitives;