private static XyzColor ToXyz(this RgbColor rgbColor) { double r = (double)rgbColor.R / 255d; double g = (double)rgbColor.G / 255d; double b = (double)rgbColor.B / 255d; r = rgbToXyz(r); g = rgbToXyz(g); b = rgbToXyz(b); r *= 100; g *= 100; b *= 100; float x = (float)((r * 0.4124) + (g * 0.3576) + (b * 0.1805)); float y = (float)((r * 0.2126) + (g * 0.7152) + (b * 0.0722)); float z = (float)((r * 0.0193) + (g * 0.1192) + (b * 0.9505)); return(new XyzColor(x, y, z)); }
public static CieLabColor ToCieLab(this RgbColor rgbColor) { return(rgbColor.ToXyz().ToCieLab()); }