ColorSpace.ColorVector.ConvertXyyToSRgbSmart C# (CSharp) Method

ConvertXyyToSRgbSmart() public method

public ConvertXyyToSRgbSmart ( ) : void
return void
        public void ConvertXyyToSRgbSmart()
        {
            const double f11 = 330000.0 / 88229.0;
            const double f12 = -275000.0 / 264687.0;
            const double f13 = -44000.0 / 88229.0;
            const double f21 = -12500.0 / 12367.0;
            const double f22 = 612500.0 / 333909.0;
            const double f23 = 4625.0 / 111303.0;
            const double f31 = -30000.0 / 29963.0;
            const double f32 = -340000.0 / 269667.0;
            const double f33 = 5000.0 / 4731.0;
            double x = Component1;
            double y = Component2;
            double bigY = Component3;
            double scale = bigY / y;
            double r = (f11 * x + f12 * y + f13) * scale;
            double g = (f21 * x + f22 * y + f23) * scale;
            double b = (f31 * x + f32 * y + f33) * scale;

            SetSRgbSmart(r, g, b, bigY);
        }

Usage Example

示例#1
0
文件: Program.cs 项目: EFanZh/EFanZh
        private static Tuple<double, double, double> XyYToSRgb(double x, double y, double bigY)
        {
            ColorVector color = new ColorVector(x, y, bigY);

            color.ConvertXyyToSRgbSmart();

            return Tuple.Create(color.Component1, color.Component2, color.Component3);
        }