Sie sind nicht angemeldet.

HSFighter

Administrator

  • »HSFighter« ist der Autor dieses Themas

Beiträge: 1 517

Wohnort: Flensburg

Beruf: Industrieelektroniker

Rootserver vorhanden: Nein

  • Nachricht senden

1

Montag, 5. März 2012, 19:10

Umwandlung von HSV Farbspectrum in RGB

Formel: http://de.wikipedia.org/wiki/HSV-Farbrau…nung_HSV_in_RGB

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
new Float:g_HSV = 145.0; // HSV Farbe festlegen (0-360°)

// Funktion aufrufen:
new Float:flRed, Float:flGreen, Float:flBlue;

HSVtoRGB(g_HSV, 1.0, 1.0, flRed, flGreen, flBlue );    
PrintHintTextToAll ("Debug: %i -->> r=%i g=%i b=%i", RoundFloat(g_HSV), RoundFloat(flRed*255.0), RoundFloat(flGreen*255.0), RoundFloat(flBlue*255.0));
    
// Funktion:
HSVtoRGB(&Float:h, Float:s, Float:v, &Float:r, &Float:g, &Float:b){

    if (s == 0)
    {
        r = v;  g = v;  b = v;
    } else {
        
        new Float:fHue, Float:fValue, Float:fSaturation;
        new Float:f;  new Float:p,Float:q,Float:t;
        if (h == 360.0) h = 0.0;
        fHue = h / 60.0;
        new i = RoundToFloor(fHue);
        f = fHue - i;
        fValue = v;
        fSaturation = s;
        p = fValue * (1.0 - fSaturation);
        q = fValue * (1.0 - (fSaturation * f));
        t = fValue * (1.0 - (fSaturation * (1.0 - f)));
        switch (i) 
        {
            case 1: 
            {
                r = q; g = fValue; b = p; 
            }
            case 2: 
            {
                r = p; g = fValue; b = t;
            }
            case 3: 
            {
                r = p; g = q; b = fValue;
            }
            case 4:
            {
                r = t; g = p; b = fValue;
            }
            case 5:
            {
                r = fValue; g = p; b = q; 
            }
            default:
            {
                r = fValue; g = t; b = p; 
            }    
        }
    }
}



-
Anti Cheat: www.smacbans.com
Kein direkter Support per PM (nur auf Anforderung)

Ähnliche Themen