Browse Source

Move Compand, Use constructor

Former-commit-id: 7f66449a76aa60f30d3e9b11f6bd23b51b093625
Former-commit-id: 98673bbcdc3eb7995ef0367ead1d9cd00a669e9c
Former-commit-id: cc097cdd6be39a6a44e6eed85388e314904c4ea7
af/merge-core
James Jackson-South 10 years ago
parent
commit
ddc1d29078
  1. 2
      src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorMatrixFilter.cs
  2. 28
      src/ImageProcessorCore/Filters/Processors/ColorMatrix/HueProcessor.cs
  3. 6
      src/ImageProcessorCore/Filters/Processors/ColorMatrix/IColorMatrixFilter.cs
  4. 10
      src/ImageProcessorCore/Filters/Processors/ColorMatrix/SaturationProcessor.cs
  5. 6
      src/ImageProcessorCore/Image/IImageProcessor.cs
  6. 3
      src/ImageProcessorCore/ImageProcessor.cs
  7. 5
      src/ImageProcessorCore/Samplers/Processors/IImageSampler.cs
  8. 2
      src/ImageProcessorCore/Samplers/Processors/ImageSampler.cs

2
src/ImageProcessorCore/Filters/Processors/ColorMatrix/ColorMatrixFilter.cs

@ -21,7 +21,7 @@ namespace ImageProcessorCore.Processors
public abstract Matrix4x4 Matrix { get; }
/// <inheritdoc/>
public virtual bool Compand => true;
public override bool Compand { get; set; } = true;
/// <inheritdoc/>
protected override void Apply(ImageBase<T, TP> target, ImageBase<T, TP> source, Rectangle targetRectangle, Rectangle sourceRectangle, int startY, int endY)

28
src/ImageProcessorCore/Filters/Processors/ColorMatrix/HueProcessor.cs

@ -38,23 +38,8 @@ namespace ImageProcessorCore.Processors
}
this.Angle = angle;
}
/// <summary>
/// Gets the rotation value.
/// </summary>
public float Angle { get; }
/// <inheritdoc/>
public override Matrix4x4 Matrix => this.matrix;
/// <inheritdoc/>
public override bool Compand => false;
/// <inheritdoc/>
protected override void OnApply(ImageBase<T, TP> target, ImageBase<T, TP> 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;
}
/// <summary>
/// Gets the rotation value.
/// </summary>
public float Angle { get; }
/// <inheritdoc/>
public override Matrix4x4 Matrix => this.matrix;
/// <inheritdoc/>
public override bool Compand => false;
}
}

6
src/ImageProcessorCore/Filters/Processors/ColorMatrix/IColorMatrixFilter.cs

@ -19,11 +19,5 @@ namespace ImageProcessorCore.Processors
/// Gets the <see cref="Matrix4x4"/> used to alter the image.
/// </summary>
Matrix4x4 Matrix { get; }
/// <summary>
/// Gets a value indicating whether to compress
/// or expand individual pixel colors the value on processing.
/// </summary>
bool Compand { get; }
}
}

10
src/ImageProcessorCore/Filters/Processors/ColorMatrix/SaturationProcessor.cs

@ -37,14 +37,7 @@ namespace ImageProcessorCore.Processors
{
Guard.MustBeBetweenOrEqualTo(saturation, -100, 100, nameof(saturation));
this.saturation = saturation;
}
/// <inheritdoc/>
public override Matrix4x4 Matrix => this.matrix;
/// <inheritdoc/>
protected override void OnApply(ImageBase<T, TP> target, ImageBase<T, TP> 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;
}
/// <inheritdoc/>
public override Matrix4x4 Matrix => this.matrix;
}
}

6
src/ImageProcessorCore/Image/IImageProcessor.cs

@ -37,6 +37,12 @@ namespace ImageProcessorCore.Processors
/// </summary>
ParallelOptions ParallelOptions { get; set; }
/// <summary>
/// Gets or sets a value indicating whether to compress
/// or expand individual pixel colors the value on processing.
/// </summary>
bool Compand { get; set; }
/// <summary>
/// Applies the process to the specified portion of the specified <see cref="ImageBase{T, TP}"/>.
/// </summary>

3
src/ImageProcessorCore/ImageProcessor.cs

@ -32,6 +32,9 @@ namespace ImageProcessorCore.Processors
/// <inheritdoc/>
public virtual ParallelOptions ParallelOptions { get; set; } = Bootstrapper.Instance.ParallelOptions;
/// <inheritdoc/>
public virtual bool Compand { get; set; } = false;
/// <inheritdoc/>
public void Apply(ImageBase<T, TP> target, ImageBase<T, TP> source, Rectangle sourceRectangle)
{

5
src/ImageProcessorCore/Samplers/Processors/IImageSampler.cs

@ -12,10 +12,5 @@ namespace ImageProcessorCore.Processors
where T : IPackedVector<TP>
where TP : struct
{
/// <summary>
/// Gets or sets a value indicating whether to compress
/// or expand individual pixel colors the value on processing.
/// </summary>
bool Compand { get; set; }
}
}

2
src/ImageProcessorCore/Samplers/Processors/ImageSampler.cs

@ -13,7 +13,5 @@ namespace ImageProcessorCore.Processors
where T : IPackedVector<TP>
where TP : struct
{
/// <inheritdoc/>
public virtual bool Compand { get; set; } = false;
}
}

Loading…
Cancel
Save