ColorSpace.ColorVector.ConvertSRgbToLinearSRgb C# (CSharp) Method

ConvertSRgbToLinearSRgb() public method

public ConvertSRgbToLinearSRgb ( ) : void
return void
        public void ConvertSRgbToLinearSRgb()
        {
            Component1 = SRgbToLinearSRgb(Component1);
            Component2 = SRgbToLinearSRgb(Component2);
            Component3 = SRgbToLinearSRgb(Component3);
        }

Usage Example

示例#1
0
文件: Program.cs 项目: EFanZh/EFanZh
        private static Tuple<Color, double, double>[] GenerateColors()
        {
            var result = new Tuple<Color, double, double>[256 * 256 * 256];
            int i = 0;

            for (short r = 0; r < 256; ++r)
            {
                for (short g = 0; g < 256; ++g)
                {
                    for (short b = 0; b < 256; ++b)
                    {
                        ColorVector colorVector = new ColorVector(r / 255.0, g / 255.0, b / 255.0);

                        colorVector.ConvertSRgbToLinearSRgb();
                        colorVector.ConvertLinearSRgbToXyz();
                        colorVector.ConvertXyzToXyy();
                        double hue = Math.Atan2(colorVector.Component2 - D65.SmallY, colorVector.Component1 - D65.SmallX);

                        result[i] = new Tuple<Color, double, double>(Color.FromArgb(r, g, b), colorVector.Component3, hue);

                        if (i % 1000000 == 0)
                        {
                            Console.WriteLine(i);
                        }

                        i++;
                    }
                }
            }

            return result;
        }