diff --git a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorMatrixFilter.cs b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorMatrixFilter.cs
index dc5811133b..3aeb33327f 100644
--- a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorMatrixFilter.cs
+++ b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorMatrixFilter.cs
@@ -21,7 +21,7 @@ namespace ImageProcessorCore.Processors
public abstract Matrix4x4 Matrix { get; }
///
- public virtual bool Compand => true;
+ public override bool Compand { get; set; } = true;
///
protected override void Apply(ImageBase target, ImageBase source, Rectangle targetRectangle, Rectangle sourceRectangle, int startY, int endY)
diff --git a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/HueProcessor.cs b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/HueProcessor.cs
index 771abeab50..03701483ec 100644
--- a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/HueProcessor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/HueProcessor.cs
@@ -38,23 +38,8 @@ namespace ImageProcessorCore.Processors
}
this.Angle = angle;
- }
- ///
- /// Gets the rotation value.
- ///
- public float Angle { get; }
-
- ///
- public override Matrix4x4 Matrix => this.matrix;
-
- ///
- public override bool Compand => false;
-
- ///
- protected override void OnApply(ImageBase target, ImageBase source, Rectangle targetRectangle, Rectangle sourceRectangle)
- {
- float radians = (float)ImageMaths.DegreesToRadians(this.Angle);
+ float radians = ImageMaths.DegreesToRadians(angle);
double cosradians = Math.Cos(radians);
double sinradians = Math.Sin(radians);
@@ -84,5 +69,16 @@ namespace ImageProcessorCore.Processors
this.matrix = matrix4X4;
}
+
+ ///
+ /// Gets the rotation value.
+ ///
+ public float Angle { get; }
+
+ ///
+ public override Matrix4x4 Matrix => this.matrix;
+
+ ///
+ public override bool Compand => false;
}
}
diff --git a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/IColorMatrixFilter.cs b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/IColorMatrixFilter.cs
index 8e46f56b65..a3fc7d65c5 100644
--- a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/IColorMatrixFilter.cs
+++ b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/IColorMatrixFilter.cs
@@ -19,11 +19,5 @@ namespace ImageProcessorCore.Processors
/// Gets the used to alter the image.
///
Matrix4x4 Matrix { get; }
-
- ///
- /// Gets a value indicating whether to compress
- /// or expand individual pixel colors the value on processing.
- ///
- bool Compand { get; }
}
}
diff --git a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/SaturationProcessor.cs b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/SaturationProcessor.cs
index 39e7b0bd46..583cc6eab2 100644
--- a/src/ImageProcessorCore/Filters/Processors/ColorMatrix/SaturationProcessor.cs
+++ b/src/ImageProcessorCore/Filters/Processors/ColorMatrix/SaturationProcessor.cs
@@ -37,14 +37,7 @@ namespace ImageProcessorCore.Processors
{
Guard.MustBeBetweenOrEqualTo(saturation, -100, 100, nameof(saturation));
this.saturation = saturation;
- }
- ///
- public override Matrix4x4 Matrix => this.matrix;
-
- ///
- protected override void OnApply(ImageBase target, ImageBase source, Rectangle targetRectangle, Rectangle sourceRectangle)
- {
float saturationFactor = this.saturation / 100f;
// Stop at -1 to prevent inversion.
@@ -74,5 +67,8 @@ namespace ImageProcessorCore.Processors
this.matrix = matrix4X4;
}
+
+ ///
+ public override Matrix4x4 Matrix => this.matrix;
}
}
diff --git a/src/ImageProcessorCore/Image/IImageProcessor.cs b/src/ImageProcessorCore/Image/IImageProcessor.cs
index cba045963e..fb325e0013 100644
--- a/src/ImageProcessorCore/Image/IImageProcessor.cs
+++ b/src/ImageProcessorCore/Image/IImageProcessor.cs
@@ -37,6 +37,12 @@ namespace ImageProcessorCore.Processors
///
ParallelOptions ParallelOptions { get; set; }
+ ///
+ /// Gets or sets a value indicating whether to compress
+ /// or expand individual pixel colors the value on processing.
+ ///
+ bool Compand { get; set; }
+
///
/// Applies the process to the specified portion of the specified .
///
diff --git a/src/ImageProcessorCore/ImageProcessor.cs b/src/ImageProcessorCore/ImageProcessor.cs
index 09cc54ff57..6d6796746d 100644
--- a/src/ImageProcessorCore/ImageProcessor.cs
+++ b/src/ImageProcessorCore/ImageProcessor.cs
@@ -32,6 +32,9 @@ namespace ImageProcessorCore.Processors
///
public virtual ParallelOptions ParallelOptions { get; set; } = Bootstrapper.Instance.ParallelOptions;
+ ///
+ public virtual bool Compand { get; set; } = false;
+
///
public void Apply(ImageBase target, ImageBase source, Rectangle sourceRectangle)
{
diff --git a/src/ImageProcessorCore/Samplers/Processors/IImageSampler.cs b/src/ImageProcessorCore/Samplers/Processors/IImageSampler.cs
index 59326dee4a..36fe5810fb 100644
--- a/src/ImageProcessorCore/Samplers/Processors/IImageSampler.cs
+++ b/src/ImageProcessorCore/Samplers/Processors/IImageSampler.cs
@@ -12,10 +12,5 @@ namespace ImageProcessorCore.Processors
where T : IPackedVector
where TP : struct
{
- ///
- /// Gets or sets a value indicating whether to compress
- /// or expand individual pixel colors the value on processing.
- ///
- bool Compand { get; set; }
}
}
diff --git a/src/ImageProcessorCore/Samplers/Processors/ImageSampler.cs b/src/ImageProcessorCore/Samplers/Processors/ImageSampler.cs
index 597fbb6faa..d016f5628a 100644
--- a/src/ImageProcessorCore/Samplers/Processors/ImageSampler.cs
+++ b/src/ImageProcessorCore/Samplers/Processors/ImageSampler.cs
@@ -13,7 +13,5 @@ namespace ImageProcessorCore.Processors
where T : IPackedVector
where TP : struct
{
- ///
- public virtual bool Compand { get; set; } = false;
}
}