huedotnet.HSVRGB.ConvertToRGB C# (CSharp) Method

ConvertToRGB() public method

Konvertier HSL zu RGB Farb-System Die math. Formeln sind vom Internet
public ConvertToRGB ( double hue, double sat, double bri, int &r, int &g, int &b ) : void
hue double Grad-Parameter in der HSL-Farb-Skala. 0-0.9999
sat double Stättigungswert 0-255
bri double Helligkeit 0-255
r int Out Variable für Rot-Wert
g int Out Variable für Grün-Wert
b int Out Variable für Blau-Wert
return void
        public void ConvertToRGB(double hue, double sat, double bri, out int r, out int g, out int b)
        {
            double rprime, gprime, bprime;

            double chroma = sat * bri;
            double hueprime = hue / 6.0;
            double x = chroma * (1 - Math.Abs((hueprime % 2) - 1));

            int hueprimeround = (int) Math.Floor(hueprime);
            switch (hueprimeround)
            {
                case 0:
                    rprime = chroma;
                    gprime = x;
                    bprime = 0;
                    break;
                case 1:
                    rprime = x;
                    gprime = chroma;
                    bprime = 0;
                    break;
                case 2:
                    rprime = 0;
                    gprime = chroma;
                    bprime = x;
                    break;
                case 3:
                    rprime = 0;
                    gprime = x;
                    bprime = chroma;
                    break;
                case 4:
                    rprime = x;
                    gprime = 0;
                    bprime = chroma;
                    break;
                case 5:
                    rprime = chroma;
                    gprime = 0;
                    bprime = x;
                    break;
                default:
                    rprime = 0;
                    gprime = 0;
                    bprime = 0;
                    break;
            }

            double m = bri - chroma;

            r = (int) Math.Round((rprime + m) * 255);
            g = (int) Math.Round((gprime + m) * 255);
            b = (int) Math.Round((bprime + m) * 255);
        }
    }

Usage Example

Esempio n. 1
0
 public void ConvertToRGBTestGreen()
 {
     HSVRGB target = new HSVRGB();
     int r, g, b;
     target.ConvertToRGB(120.0, 1.0, 0.250, out r, out g, out b);
     Assert.AreEqual(0, r);
     Assert.AreEqual(127, g);
     Assert.AreEqual(0, b);
 }
All Usage Examples Of huedotnet.HSVRGB::ConvertToRGB