Пример #1
0
        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));
        }
Пример #2
0
 public static CieLabColor ToCieLab(this RgbColor rgbColor)
 {
     return(rgbColor.ToXyz().ToCieLab());
 }