Пример #1
0
        public static CieXyzColor ToCieXyz(this CieLuvColor source)
        {
            float uPrime = source.u / (13.0f * source.L) + CieConstants.uN;
            float vPrime = source.v / (13.0f * source.L) + CieConstants.vN;

            float Y = source.L <= 8 ? CieConstants.Yn * source.L * (3.0f / 29.0f) * (3.0f / 29.0f) * (3.0f / 29.0f) : CieConstants.Yn * (float)Math.Pow((source.L + 16.0) / 116.0, 3);
            float X = Y * (9.0f * uPrime) / (4.0f * vPrime);
            float Z = Y * (12.0f - 3 * uPrime - 20.0f * vPrime) / (4.0f * vPrime);

            return(new CieXyzColor
            {
                X = X,
                Y = Y,
                Z = Z
            });
        }
Пример #2
0
        public StandardRgbColor ConvertToStandardRgb(Vector3 pixel)
        {
            CieLuvColor cieLuv = (CieLuvColor)pixel;

            return(cieLuv.ToStandardRgb());
        }
Пример #3
0
 public static StandardRgbColor ToStandardRgb(this CieLuvColor source)
 {
     return(source.ToCieXyz().ToStandardRgb());
 }
Пример #4
0
 public static CieLabColor ToCieLab(this CieLuvColor source)
 {
     return(source.ToCieXyz().ToCieLab());
 }
Пример #5
0
 public static LinearRgbColor ToLinearRgb(this CieLuvColor source)
 {
     return(source.ToCieXyz().ToLinearRgb());
 }