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 }); }
public StandardRgbColor ConvertToStandardRgb(Vector3 pixel) { CieLuvColor cieLuv = (CieLuvColor)pixel; return(cieLuv.ToStandardRgb()); }
public static StandardRgbColor ToStandardRgb(this CieLuvColor source) { return(source.ToCieXyz().ToStandardRgb()); }
public static CieLabColor ToCieLab(this CieLuvColor source) { return(source.ToCieXyz().ToCieLab()); }
public static LinearRgbColor ToLinearRgb(this CieLuvColor source) { return(source.ToCieXyz().ToLinearRgb()); }