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; } }