public XYZColor ToXYZ(LChuvColor color) { if (color == null) { throw new ArgumentNullException("color"); } // conversion to Luv var luvConverter = new LChuvToLuvConverter(); LuvColor labColor = luvConverter.Convert(color); // conversion to XYZ (incl. adaptation) XYZColor result = ToXYZ(labColor); return(result); }
public LuvColor ToLuv(LChuvColor color) { if (color == null) { throw new ArgumentNullException("color"); } // conversion (perserving white point) var converter = new LChuvToLuvConverter(); LuvColor unadapted = converter.Convert(color); if (!IsChromaticAdaptationPerformed) { return(unadapted); } // adaptation to target luv white point (LuvWhitePoint) LuvColor adapted = Adapt(unadapted); return(adapted); }