Anton Firszov 9 years ago
parent
commit
cb3d7865ca
  1. 12
      src/ImageSharp/Colors/Spaces/Bgra32.cs
  2. 12
      src/ImageSharp/Colors/Spaces/CieLab.cs
  3. 12
      src/ImageSharp/Colors/Spaces/Cmyk.cs
  4. 12
      src/ImageSharp/Colors/Spaces/Hsl.cs
  5. 12
      src/ImageSharp/Colors/Spaces/Hsv.cs
  6. 7
      src/ImageSharp/Colors/Spaces/YCbCr.cs

12
src/ImageSharp/Colors/Spaces/Bgra32.cs

@ -19,6 +19,16 @@ namespace ImageSharp.Colors.Spaces
/// </summary>
public static readonly Bgra32 Empty = default(Bgra32);
/// <summary>
/// Min range used for clamping
/// </summary>
private static readonly Vector4 VectorMin = Vector4.Zero;
/// <summary>
/// Max range used for clamping
/// </summary>
private static readonly Vector4 VectorMax = new Vector4(255);
/// <summary>
/// The backing vector for SIMD support.
/// </summary>
@ -34,7 +44,7 @@ namespace ImageSharp.Colors.Spaces
public Bgra32(byte b, byte g, byte r, byte a = 255)
: this()
{
this.backingVector = Vector4.Clamp(new Vector4(b, g, r, a), Vector4.Zero, new Vector4(255));
this.backingVector = Vector4.Clamp(new Vector4(b, g, r, a), VectorMin, VectorMax);
}
/// <summary>

12
src/ImageSharp/Colors/Spaces/CieLab.cs

@ -20,6 +20,16 @@ namespace ImageSharp.Colors.Spaces
/// </summary>
public static readonly CieLab Empty = default(CieLab);
/// <summary>
/// Min range used for clamping
/// </summary>
private static readonly Vector3 VectorMin = new Vector3(0, -100, -100);
/// <summary>
/// Max range used for clamping
/// </summary>
private static readonly Vector3 VectorMax = new Vector3(100);
/// <summary>
/// The backing vector for SIMD support.
/// </summary>
@ -34,7 +44,7 @@ namespace ImageSharp.Colors.Spaces
public CieLab(float l, float a, float b)
: this()
{
this.backingVector = Vector3.Clamp(new Vector3(l, a, b), new Vector3(0, -100, -100), new Vector3(100));
this.backingVector = Vector3.Clamp(new Vector3(l, a, b), VectorMin, VectorMax);
}
/// <summary>

12
src/ImageSharp/Colors/Spaces/Cmyk.cs

@ -19,6 +19,16 @@ namespace ImageSharp.Colors.Spaces
/// </summary>
public static readonly Cmyk Empty = default(Cmyk);
/// <summary>
/// Min range used for clamping
/// </summary>
private static readonly Vector4 VectorMin = Vector4.Zero;
/// <summary>
/// Max range used for clamping
/// </summary>
private static readonly Vector4 VectorMax = Vector4.One;
/// <summary>
/// The backing vector for SIMD support.
/// </summary>
@ -34,7 +44,7 @@ namespace ImageSharp.Colors.Spaces
public Cmyk(float c, float m, float y, float k)
: this()
{
this.backingVector = Vector4.Clamp(new Vector4(c, m, y, k), Vector4.Zero, Vector4.One);
this.backingVector = Vector4.Clamp(new Vector4(c, m, y, k), VectorMin, VectorMax);
}
/// <summary>

12
src/ImageSharp/Colors/Spaces/Hsl.cs

@ -19,6 +19,16 @@ namespace ImageSharp.Colors.Spaces
/// </summary>
public static readonly Hsl Empty = default(Hsl);
/// <summary>
/// Min range used for clamping
/// </summary>
private static readonly Vector3 VectorMin = Vector3.Zero;
/// <summary>
/// Max range used for clamping
/// </summary>
private static readonly Vector3 VectorMax = new Vector3(360, 1, 1);
/// <summary>
/// The backing vector for SIMD support.
/// </summary>
@ -32,7 +42,7 @@ namespace ImageSharp.Colors.Spaces
/// <param name="l">The l value (lightness) component.</param>
public Hsl(float h, float s, float l)
{
this.backingVector = Vector3.Clamp(new Vector3(h, s, l), Vector3.Zero, new Vector3(360, 1, 1));
this.backingVector = Vector3.Clamp(new Vector3(h, s, l), VectorMin, VectorMax);
}
/// <summary>

12
src/ImageSharp/Colors/Spaces/Hsv.cs

@ -19,6 +19,16 @@ namespace ImageSharp.Colors.Spaces
/// </summary>
public static readonly Hsv Empty = default(Hsv);
/// <summary>
/// Min range used for clamping
/// </summary>
private static readonly Vector3 VectorMin = Vector3.Zero;
/// <summary>
/// Max range used for clamping
/// </summary>
private static readonly Vector3 VectorMax = new Vector3(360, 1, 1);
/// <summary>
/// The backing vector for SIMD support.
/// </summary>
@ -32,7 +42,7 @@ namespace ImageSharp.Colors.Spaces
/// <param name="v">The v value (brightness) component.</param>
public Hsv(float h, float s, float v)
{
this.backingVector = Vector3.Clamp(new Vector3(h, s, v), Vector3.Zero, new Vector3(360, 1, 1));
this.backingVector = Vector3.Clamp(new Vector3(h, s, v), VectorMin, VectorMax);
}
/// <summary>

7
src/ImageSharp/Colors/Spaces/YCbCr.cs

@ -20,6 +20,11 @@ namespace ImageSharp.Colors.Spaces
/// </summary>
public static readonly YCbCr Empty = default(YCbCr);
/// <summary>
/// Min range used for clamping
/// </summary>
private static readonly Vector3 VectorMin = Vector3.Zero;
/// <summary>
/// Vector which is used in clamping to the max value
/// </summary>
@ -39,7 +44,7 @@ namespace ImageSharp.Colors.Spaces
public YCbCr(byte y, byte cb, byte cr)
: this()
{
this.backingVector = Vector3.Clamp(new Vector3(y, cb, cr), Vector3.Zero, VectorMax);
this.backingVector = Vector3.Clamp(new Vector3(y, cb, cr), VectorMin, VectorMax);
}
/// <summary>

Loading…
Cancel
Save