Browse Source

Remove per-pixel allocation

pull/664/head
James Jackson-South 8 years ago
parent
commit
a5ec503a4f
  1. 3
      src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.CieLab.cs
  2. 5
      src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.cs

3
src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.CieLab.cs

@ -170,8 +170,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
: color; : color;
// Conversion // Conversion
var converter = new CieXyzToCieLabConverter(this.targetLabWhitePoint); return this.cieXyzToCieLabConverter.Convert(adapted);
return converter.Convert(adapted);
} }
/// <summary> /// <summary>

5
src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.cs

@ -7,7 +7,7 @@ using SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation;
namespace SixLabors.ImageSharp.ColorSpaces.Conversion namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{ {
/// <summary> /// <summary>
/// Provides methods to allow the conversion of color values into different color spaces. /// Provides methods to allow the conversion of color values between different color spaces.
/// </summary> /// </summary>
public partial class ColorSpaceConverter public partial class ColorSpaceConverter
{ {
@ -22,6 +22,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
private Matrix4x4 lmsAdaptationMatrix; private Matrix4x4 lmsAdaptationMatrix;
private CieXyzAndLmsConverter cieXyzAndLmsConverter; private CieXyzAndLmsConverter cieXyzAndLmsConverter;
private CieXyzToCieLabConverter cieXyzToCieLabConverter;
/// <summary> /// <summary>
/// Initializes a new instance of the <see cref="ColorSpaceConverter"/> class. /// Initializes a new instance of the <see cref="ColorSpaceConverter"/> class.
@ -46,7 +47,9 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
this.chromaticAdaptation = options.ChromaticAdaptation; this.chromaticAdaptation = options.ChromaticAdaptation;
this.performChromaticAdaptation = this.chromaticAdaptation != null; this.performChromaticAdaptation = this.chromaticAdaptation != null;
this.lmsAdaptationMatrix = options.LmsAdaptationMatrix; this.lmsAdaptationMatrix = options.LmsAdaptationMatrix;
this.cieXyzAndLmsConverter = new CieXyzAndLmsConverter(this.lmsAdaptationMatrix); this.cieXyzAndLmsConverter = new CieXyzAndLmsConverter(this.lmsAdaptationMatrix);
this.cieXyzToCieLabConverter = new CieXyzToCieLabConverter(this.targetLabWhitePoint);
} }
} }
} }
Loading…
Cancel
Save