diff --git a/src/ImageSharp.Drawing.Paths/DrawLines.cs b/src/ImageSharp.Drawing.Paths/DrawLines.cs
index 2e4f849870..1ff58fd1de 100644
--- a/src/ImageSharp.Drawing.Paths/DrawLines.cs
+++ b/src/ImageSharp.Drawing.Paths/DrawLines.cs
@@ -13,8 +13,6 @@ namespace ImageSharp
using Drawing.Processors;
using SixLabors.Shapes;
- using Path = SixLabors.Shapes.Path;
-
///
/// Extension methods for the type.
///
diff --git a/src/ImageSharp.Drawing/DrawImage.cs b/src/ImageSharp.Drawing/DrawImage.cs
index 4b3fd491da..2fba227ee6 100644
--- a/src/ImageSharp.Drawing/DrawImage.cs
+++ b/src/ImageSharp.Drawing/DrawImage.cs
@@ -51,7 +51,8 @@ namespace ImageSharp
location = Point.Empty;
}
- return source.Apply(source.Bounds, new DrawImageProcessor(image, size, location, percent));
+ source.ApplyProcessor(new DrawImageProcessor(image, size, location, percent), source.Bounds);
+ return source;
}
}
}
\ No newline at end of file
diff --git a/src/ImageSharp.Processing/Binarization/BinaryThreshold.cs b/src/ImageSharp.Processing/Binarization/BinaryThreshold.cs
index 1b5b6c9bbc..e59369349f 100644
--- a/src/ImageSharp.Processing/Binarization/BinaryThreshold.cs
+++ b/src/ImageSharp.Processing/Binarization/BinaryThreshold.cs
@@ -40,7 +40,8 @@ namespace ImageSharp
public static Image BinaryThreshold(this Image source, float threshold, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Apply(rectangle, new BinaryThresholdProcessor(threshold));
+ source.ApplyProcessor(new BinaryThresholdProcessor(threshold), rectangle);
+ return source;
}
}
}
diff --git a/src/ImageSharp.Processing/ColorMatrix/BlackWhite.cs b/src/ImageSharp.Processing/ColorMatrix/BlackWhite.cs
index e172a21be0..05fb8f19c8 100644
--- a/src/ImageSharp.Processing/ColorMatrix/BlackWhite.cs
+++ b/src/ImageSharp.Processing/ColorMatrix/BlackWhite.cs
@@ -39,7 +39,8 @@ namespace ImageSharp
public static Image BlackWhite(this Image source, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Apply(rectangle, new BlackWhiteProcessor());
+ source.ApplyProcessor(new BlackWhiteProcessor(), rectangle);
+ return source;
}
}
}
diff --git a/src/ImageSharp.Processing/ColorMatrix/ColorBlindness.cs b/src/ImageSharp.Processing/ColorMatrix/ColorBlindness.cs
index 2e90b059e7..30b28861d0 100644
--- a/src/ImageSharp.Processing/ColorMatrix/ColorBlindness.cs
+++ b/src/ImageSharp.Processing/ColorMatrix/ColorBlindness.cs
@@ -78,7 +78,8 @@ namespace ImageSharp
break;
}
- return source.Apply(rectangle, processor);
+ source.ApplyProcessor(processor, rectangle);
+ return source;
}
}
}
diff --git a/src/ImageSharp.Processing/ColorMatrix/Grayscale.cs b/src/ImageSharp.Processing/ColorMatrix/Grayscale.cs
index f1a17c02b0..b2aadc46db 100644
--- a/src/ImageSharp.Processing/ColorMatrix/Grayscale.cs
+++ b/src/ImageSharp.Processing/ColorMatrix/Grayscale.cs
@@ -45,7 +45,8 @@ namespace ImageSharp
? (IImageProcessor)new GrayscaleBt709Processor()
: new GrayscaleBt601Processor();
- return source.Apply(rectangle, processor);
+ source.ApplyProcessor(processor, rectangle);
+ return source;
}
}
}
diff --git a/src/ImageSharp.Processing/ColorMatrix/Hue.cs b/src/ImageSharp.Processing/ColorMatrix/Hue.cs
index f03f65692a..25fcc6c559 100644
--- a/src/ImageSharp.Processing/ColorMatrix/Hue.cs
+++ b/src/ImageSharp.Processing/ColorMatrix/Hue.cs
@@ -41,7 +41,8 @@ namespace ImageSharp
public static Image Hue(this Image source, float degrees, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Apply(rectangle, new HueProcessor(degrees));
+ source.ApplyProcessor(new HueProcessor(degrees), rectangle);
+ return source;
}
}
}
diff --git a/src/ImageSharp.Processing/ColorMatrix/Kodachrome.cs b/src/ImageSharp.Processing/ColorMatrix/Kodachrome.cs
index 2592d80909..dab0224c3a 100644
--- a/src/ImageSharp.Processing/ColorMatrix/Kodachrome.cs
+++ b/src/ImageSharp.Processing/ColorMatrix/Kodachrome.cs
@@ -39,7 +39,8 @@ namespace ImageSharp
public static Image Kodachrome(this Image source, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Apply(rectangle, new KodachromeProcessor());
+ source.ApplyProcessor(new KodachromeProcessor(), rectangle);
+ return source;
}
}
}
diff --git a/src/ImageSharp.Processing/ColorMatrix/Lomograph.cs b/src/ImageSharp.Processing/ColorMatrix/Lomograph.cs
index 2605bc3011..df34dc52e9 100644
--- a/src/ImageSharp.Processing/ColorMatrix/Lomograph.cs
+++ b/src/ImageSharp.Processing/ColorMatrix/Lomograph.cs
@@ -39,7 +39,8 @@ namespace ImageSharp
public static Image Lomograph(this Image source, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Apply(rectangle, new LomographProcessor());
+ source.ApplyProcessor(new LomographProcessor(), rectangle);
+ return source;
}
}
}
diff --git a/src/ImageSharp.Processing/ColorMatrix/Polaroid.cs b/src/ImageSharp.Processing/ColorMatrix/Polaroid.cs
index 5c51a710bf..4bb8f82a31 100644
--- a/src/ImageSharp.Processing/ColorMatrix/Polaroid.cs
+++ b/src/ImageSharp.Processing/ColorMatrix/Polaroid.cs
@@ -39,7 +39,8 @@ namespace ImageSharp
public static Image Polaroid(this Image source, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Apply(rectangle, new PolaroidProcessor());
+ source.ApplyProcessor(new PolaroidProcessor(), rectangle);
+ return source;
}
}
}
diff --git a/src/ImageSharp.Processing/ColorMatrix/Saturation.cs b/src/ImageSharp.Processing/ColorMatrix/Saturation.cs
index 773329ea6c..a92483c9c3 100644
--- a/src/ImageSharp.Processing/ColorMatrix/Saturation.cs
+++ b/src/ImageSharp.Processing/ColorMatrix/Saturation.cs
@@ -41,7 +41,8 @@ namespace ImageSharp
public static Image Saturation(this Image source, int amount, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Apply(rectangle, new SaturationProcessor(amount));
+ source.ApplyProcessor(new SaturationProcessor(amount), rectangle);
+ return source;
}
}
}
diff --git a/src/ImageSharp.Processing/ColorMatrix/Sepia.cs b/src/ImageSharp.Processing/ColorMatrix/Sepia.cs
index 3f29b93e59..1a8ec4b95e 100644
--- a/src/ImageSharp.Processing/ColorMatrix/Sepia.cs
+++ b/src/ImageSharp.Processing/ColorMatrix/Sepia.cs
@@ -39,7 +39,8 @@ namespace ImageSharp
public static Image Sepia(this Image source, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Apply(rectangle, new SepiaProcessor());
+ source.ApplyProcessor(new SepiaProcessor(), rectangle);
+ return source;
}
}
}
\ No newline at end of file
diff --git a/src/ImageSharp.Processing/Convolution/BoxBlur.cs b/src/ImageSharp.Processing/Convolution/BoxBlur.cs
index e16c30516d..a68c2fa44d 100644
--- a/src/ImageSharp.Processing/Convolution/BoxBlur.cs
+++ b/src/ImageSharp.Processing/Convolution/BoxBlur.cs
@@ -41,7 +41,8 @@ namespace ImageSharp
public static Image BoxBlur(this Image source, int radius, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Apply(rectangle, new BoxBlurProcessor(radius));
+ source.ApplyProcessor(new BoxBlurProcessor(), rectangle);
+ return source;
}
}
}
diff --git a/src/ImageSharp.Processing/Convolution/DetectEdges.cs b/src/ImageSharp.Processing/Convolution/DetectEdges.cs
index 32fc167f1d..a61726e74e 100644
--- a/src/ImageSharp.Processing/Convolution/DetectEdges.cs
+++ b/src/ImageSharp.Processing/Convolution/DetectEdges.cs
@@ -146,7 +146,8 @@ namespace ImageSharp
public static Image DetectEdges(this Image source, Rectangle rectangle, IEdgeDetectorProcessor filter)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Apply(rectangle, filter);
+ source.ApplyProcessor(filter, rectangle);
+ return source;
}
}
}
\ No newline at end of file
diff --git a/src/ImageSharp.Processing/Convolution/GaussianBlur.cs b/src/ImageSharp.Processing/Convolution/GaussianBlur.cs
index 7e8b9a4032..893ebb2646 100644
--- a/src/ImageSharp.Processing/Convolution/GaussianBlur.cs
+++ b/src/ImageSharp.Processing/Convolution/GaussianBlur.cs
@@ -41,7 +41,8 @@ namespace ImageSharp
public static Image GaussianBlur(this Image source, float sigma, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Apply(rectangle, new GaussianBlurProcessor(sigma));
+ source.ApplyProcessor(new GaussianBlurProcessor(sigma), rectangle);
+ return source;
}
}
}
\ No newline at end of file
diff --git a/src/ImageSharp.Processing/Convolution/GaussianSharpen.cs b/src/ImageSharp.Processing/Convolution/GaussianSharpen.cs
index ef49104599..e3f8e995bc 100644
--- a/src/ImageSharp.Processing/Convolution/GaussianSharpen.cs
+++ b/src/ImageSharp.Processing/Convolution/GaussianSharpen.cs
@@ -41,7 +41,8 @@ namespace ImageSharp
public static Image GaussianSharpen(this Image source, float sigma, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Apply(rectangle, new GaussianSharpenProcessor(sigma));
+ source.ApplyProcessor(new GaussianSharpenProcessor(sigma), rectangle);
+ return source;
}
}
}
diff --git a/src/ImageSharp.Processing/Effects/Alpha.cs b/src/ImageSharp.Processing/Effects/Alpha.cs
index 856276a89e..21b6dfbcbc 100644
--- a/src/ImageSharp.Processing/Effects/Alpha.cs
+++ b/src/ImageSharp.Processing/Effects/Alpha.cs
@@ -40,7 +40,8 @@ namespace ImageSharp
public static Image Alpha(this Image source, int percent, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Apply(rectangle, new AlphaProcessor(percent));
+ source.ApplyProcessor(new AlphaProcessor(percent), rectangle);
+ return source;
}
}
}
diff --git a/src/ImageSharp.Processing/Effects/BackgroundColor.cs b/src/ImageSharp.Processing/Effects/BackgroundColor.cs
index ac1add3513..0f724c08c0 100644
--- a/src/ImageSharp.Processing/Effects/BackgroundColor.cs
+++ b/src/ImageSharp.Processing/Effects/BackgroundColor.cs
@@ -24,7 +24,8 @@ namespace ImageSharp
public static Image BackgroundColor(this Image source, TColor color)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Apply(source.Bounds, new BackgroundColorProcessor(color));
+ source.ApplyProcessor(new BackgroundColorProcessor(color), source.Bounds);
+ return source;
}
}
}
diff --git a/src/ImageSharp.Processing/Effects/Brightness.cs b/src/ImageSharp.Processing/Effects/Brightness.cs
index 8c9ff8946f..bf5500faf5 100644
--- a/src/ImageSharp.Processing/Effects/Brightness.cs
+++ b/src/ImageSharp.Processing/Effects/Brightness.cs
@@ -39,8 +39,9 @@ namespace ImageSharp
/// The .
public static Image Brightness(this Image source, int amount, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
- {
- return source.Apply(rectangle, new BrightnessProcessor(amount));
+ {
+ source.ApplyProcessor(new BrightnessProcessor(amount), rectangle);
+ return source;
}
}
}
diff --git a/src/ImageSharp.Processing/Effects/Contrast.cs b/src/ImageSharp.Processing/Effects/Contrast.cs
index 8310286825..f05eea6399 100644
--- a/src/ImageSharp.Processing/Effects/Contrast.cs
+++ b/src/ImageSharp.Processing/Effects/Contrast.cs
@@ -40,7 +40,8 @@ namespace ImageSharp
public static Image Contrast(this Image source, int amount, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Apply(rectangle, new ContrastProcessor(amount));
+ source.ApplyProcessor(new ContrastProcessor(amount), rectangle);
+ return source;
}
}
}
diff --git a/src/ImageSharp.Processing/Effects/Invert.cs b/src/ImageSharp.Processing/Effects/Invert.cs
index 31e524000e..fff3108df4 100644
--- a/src/ImageSharp.Processing/Effects/Invert.cs
+++ b/src/ImageSharp.Processing/Effects/Invert.cs
@@ -38,7 +38,8 @@ namespace ImageSharp
public static Image Invert(this Image source, Rectangle rectangle)
where TColor : struct, IPackedPixel, IEquatable
{
- return source.Apply(rectangle, new InvertProcessor());
+ source.ApplyProcessor(new InvertProcessor(), rectangle);
+ return source;
}
}
}
diff --git a/src/ImageSharp.Processing/Effects/OilPainting.cs b/src/ImageSharp.Processing/Effects/OilPainting.cs
index 463cfd675c..fbd7777110 100644
--- a/src/ImageSharp.Processing/Effects/OilPainting.cs
+++ b/src/ImageSharp.Processing/Effects/OilPainting.cs
@@ -49,7 +49,8 @@ namespace ImageSharp
throw new ArgumentOutOfRangeException(nameof(brushSize));
}
- return source.Apply(rectangle, new OilPaintingProcessor(levels, brushSize));
+ source.ApplyProcessor(new OilPaintingProcessor(levels, brushSize), rectangle);
+ return source;
}
}
}
\ No newline at end of file
diff --git a/src/ImageSharp.Processing/Effects/Pixelate.cs b/src/ImageSharp.Processing/Effects/Pixelate.cs
index 92d1fdd698..77b014e73d 100644
--- a/src/ImageSharp.Processing/Effects/Pixelate.cs
+++ b/src/ImageSharp.Processing/Effects/Pixelate.cs
@@ -45,7 +45,8 @@ namespace ImageSharp
throw new ArgumentOutOfRangeException(nameof(size));
}
- return source.Apply(rectangle, new PixelateProcessor(size));
+ source.ApplyProcessor(new PixelateProcessor(size), rectangle);
+ return source;
}
}
}
\ No newline at end of file
diff --git a/src/ImageSharp.Processing/Overlays/Glow.cs b/src/ImageSharp.Processing/Overlays/Glow.cs
index 6511407dad..91fbfc7f62 100644
--- a/src/ImageSharp.Processing/Overlays/Glow.cs
+++ b/src/ImageSharp.Processing/Overlays/Glow.cs
@@ -88,7 +88,8 @@ namespace ImageSharp
processor.GlowColor = color;
}
- return source.Apply(rectangle, processor);
+ source.ApplyProcessor(processor, rectangle);
+ return source;
}
}
}
diff --git a/src/ImageSharp.Processing/Overlays/Vignette.cs b/src/ImageSharp.Processing/Overlays/Vignette.cs
index f728a3e1c6..c6cd0ab1e8 100644
--- a/src/ImageSharp.Processing/Overlays/Vignette.cs
+++ b/src/ImageSharp.Processing/Overlays/Vignette.cs
@@ -90,7 +90,8 @@ namespace ImageSharp
processor.VignetteColor = color;
}
- return source.Apply(rectangle, processor);
+ source.ApplyProcessor(processor, rectangle);
+ return source;
}
}
}
\ No newline at end of file
diff --git a/src/ImageSharp.Processing/Transforms/Crop.cs b/src/ImageSharp.Processing/Transforms/Crop.cs
index 09309a8053..bdcbe51d8a 100644
--- a/src/ImageSharp.Processing/Transforms/Crop.cs
+++ b/src/ImageSharp.Processing/Transforms/Crop.cs
@@ -41,7 +41,9 @@ namespace ImageSharp
where TColor : struct, IPackedPixel, IEquatable
{
CropProcessor processor = new CropProcessor(cropRectangle);
- return source.Apply(source.Bounds, processor);
+
+ source.ApplyProcessor(processor, source.Bounds);
+ return source;
}
}
}
\ No newline at end of file
diff --git a/src/ImageSharp.Processing/Transforms/EntropyCrop.cs b/src/ImageSharp.Processing/Transforms/EntropyCrop.cs
index 8ba6baf19b..fcfcf3813e 100644
--- a/src/ImageSharp.Processing/Transforms/EntropyCrop.cs
+++ b/src/ImageSharp.Processing/Transforms/EntropyCrop.cs
@@ -25,7 +25,9 @@ namespace ImageSharp
where TColor : struct, IPackedPixel, IEquatable
{
EntropyCropProcessor processor = new EntropyCropProcessor(threshold);
- return source.Apply(source.Bounds, processor);
+
+ source.ApplyProcessor(processor, source.Bounds);
+ return source;
}
}
}
\ No newline at end of file
diff --git a/src/ImageSharp.Processing/Transforms/Flip.cs b/src/ImageSharp.Processing/Transforms/Flip.cs
index 4b4c1b7d62..82b664eb14 100644
--- a/src/ImageSharp.Processing/Transforms/Flip.cs
+++ b/src/ImageSharp.Processing/Transforms/Flip.cs
@@ -26,7 +26,9 @@ namespace ImageSharp
where TColor : struct, IPackedPixel, IEquatable
{
FlipProcessor processor = new FlipProcessor(flipType);
- return source.Apply(source.Bounds, processor);
+
+ source.ApplyProcessor(processor, source.Bounds);
+ return source;
}
}
}
\ No newline at end of file
diff --git a/src/ImageSharp.Processing/Transforms/Resize.cs b/src/ImageSharp.Processing/Transforms/Resize.cs
index 35ffc8b7dd..aa4bf2439f 100644
--- a/src/ImageSharp.Processing/Transforms/Resize.cs
+++ b/src/ImageSharp.Processing/Transforms/Resize.cs
@@ -167,7 +167,8 @@ namespace ImageSharp
processor = new ResizeProcessor(sampler, width, height, targetRectangle);
}
- return source.Apply(sourceRectangle, processor);
+ source.ApplyProcessor(processor, sourceRectangle);
+ return source;
}
}
}
diff --git a/src/ImageSharp.Processing/Transforms/Rotate.cs b/src/ImageSharp.Processing/Transforms/Rotate.cs
index b35bbc58ad..e9ed4e97c1 100644
--- a/src/ImageSharp.Processing/Transforms/Rotate.cs
+++ b/src/ImageSharp.Processing/Transforms/Rotate.cs
@@ -53,7 +53,9 @@ namespace ImageSharp
where TColor : struct, IPackedPixel, IEquatable
{
RotateProcessor processor = new RotateProcessor { Angle = degrees, Expand = expand };
- return source.Apply(source.Bounds, processor);
+
+ source.ApplyProcessor(processor, source.Bounds);
+ return source;
}
}
}
diff --git a/src/ImageSharp.Processing/Transforms/Skew.cs b/src/ImageSharp.Processing/Transforms/Skew.cs
index 825dce5556..5a662c3004 100644
--- a/src/ImageSharp.Processing/Transforms/Skew.cs
+++ b/src/ImageSharp.Processing/Transforms/Skew.cs
@@ -41,7 +41,9 @@ namespace ImageSharp
where TColor : struct, IPackedPixel, IEquatable
{
SkewProcessor processor = new SkewProcessor { AngleX = degreesX, AngleY = degreesY, Expand = expand };
- return source.Apply(source.Bounds, processor);
+
+ source.ApplyProcessor(processor, source.Bounds);
+ return source;
}
}
}
diff --git a/src/ImageSharp/Image/ImageProcessingExtensions.cs b/src/ImageSharp/Image/ImageProcessingExtensions.cs
index db07afe2ab..db8fb4baa7 100644
--- a/src/ImageSharp/Image/ImageProcessingExtensions.cs
+++ b/src/ImageSharp/Image/ImageProcessingExtensions.cs
@@ -24,24 +24,7 @@ namespace ImageSharp
public static Image Apply(this Image source, IImageProcessor processor)
where TColor : struct, IPackedPixel, IEquatable
{
- return Apply(source, source.Bounds, processor);
- }
-
- ///
- /// Applies the processor to the image.
- /// This method does not resize the target image.
- ///
- /// The pixel format.
- /// The image this method extends.
- ///
- /// The structure that specifies the portion of the image object to draw.
- ///
- /// The processors to apply to the image.
- /// The .
- public static Image Apply(this Image source, Rectangle sourceRectangle, IImageProcessor processor)
- where TColor : struct, IPackedPixel, IEquatable
- {
- source.ApplyProcessor(processor, sourceRectangle);
+ source.ApplyProcessor(processor, source.Bounds);
return source;
}
}