FromRgb() публичный статический Метод

Froms the rgb value from int components.
public static FromRgb ( int r, int g, int b ) : RgbColor
r int The red component.
g int The green component.
b int The blue component.
Результат RgbColor
Пример #1
0
 /// <summary>
 /// Get black color.
 /// </summary>
 public static RgbColor Black()
 {
     return(RgbColor.FromRgb(0, 0, 0));
 }
Пример #2
0
        RgbColor ToRGB()
        {
            // convert to RGB according to
            // "Conversion from HSL to RGB"

            double r = m_lightness;
            double g = m_lightness;
            double b = m_lightness;

            if (m_saturation == 0)
            {
                return(RgbColor.FromRgb((int)(r * 255), (int)(g * 255), (int)(b * 255)));
            }

            double q = 0;

            if (m_lightness < 0.5)
            {
                q = m_lightness * (1 + m_saturation);
            }
            else
            {
                q = m_lightness + m_saturation - (m_lightness * m_saturation);
            }
            double p  = 2 * m_lightness - q;
            double hk = m_hue / 360;

            // r,g,b colors
            double[] tc = new double[3] {
                hk + (1d / 3d), hk, hk - (1d / 3d)
            };
            double[] colors = new double[3] {
                0, 0, 0
            };

            for (int color = 0; color < colors.Length; color++)
            {
                if (tc[color] < 0)
                {
                    tc[color] += 1;
                }
                if (tc[color] > 1)
                {
                    tc[color] -= 1;
                }

                if (tc[color] < (1d / 6d))
                {
                    colors[color] = p + ((q - p) * 6 * tc[color]);
                }
                else
                if (tc[color] >= (1d / 6d) && tc[color] < (1d / 2d))
                {
                    colors[color] = q;
                }
                else
                if (tc[color] >= (1d / 2d) && tc[color] < (2d / 3d))
                {
                    colors[color] = p + ((q - p) * 6 * (2d / 3d - tc[color]));
                }
                else
                {
                    colors[color] = p;
                }

                colors[color] *= 255;                 // convert to value expected by Color
            }
            return(RgbColor.FromRgb((int)colors[0], (int)colors[1], (int)colors[2]));
        }