From 0427d8c92d8a49c949ef94f3887574f473c673c5 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Wed, 1 Aug 2018 08:36:12 +0100 Subject: [PATCH] Calculate bool once in constructor. --- .../ColorSpaces/Conversion/ColorSpaceConverter.CieLab.cs | 2 +- src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.cs | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.CieLab.cs b/src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.CieLab.cs index 099a103a7d..d971ad1331 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.CieLab.cs +++ b/src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.CieLab.cs @@ -165,7 +165,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion public CieLab ToCieLab(in CieXyz color) { // Adaptation - CieXyz adapted = !this.whitePoint.Equals(this.targetLabWhitePoint) && this.performChromaticAdaptation + CieXyz adapted = this.performLabChromaticAdaptation ? this.chromaticAdaptation.Transform(color, this.whitePoint, this.targetLabWhitePoint) : color; diff --git a/src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.cs b/src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.cs index e092d2d650..bf28780dc4 100644 --- a/src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.cs +++ b/src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.cs @@ -19,6 +19,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion private RgbWorkingSpace targetRgbWorkingSpace; private IChromaticAdaptation chromaticAdaptation; private bool performChromaticAdaptation; + private bool performLabChromaticAdaptation; private Matrix4x4 lmsAdaptationMatrix; private CieXyzAndLmsConverter cieXyzAndLmsConverter; @@ -46,6 +47,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion this.targetRgbWorkingSpace = options.TargetRgbWorkingSpace; this.chromaticAdaptation = options.ChromaticAdaptation; this.performChromaticAdaptation = this.chromaticAdaptation != null; + this.performLabChromaticAdaptation = !this.whitePoint.Equals(this.targetLabWhitePoint) && this.performChromaticAdaptation; this.lmsAdaptationMatrix = options.LmsAdaptationMatrix; this.cieXyzAndLmsConverter = new CieXyzAndLmsConverter(this.lmsAdaptationMatrix);