File tree Expand file tree Collapse file tree 4 files changed +1668
-42
lines changed
Expand file tree Collapse file tree 4 files changed +1668
-42
lines changed Original file line number Diff line number Diff line change @@ -13,50 +13,46 @@ type RGB struct {
1313func (c * HSV ) RGB () * RGB {
1414 var r , g , b float64
1515 if c .S == 0 {
16- r = c .V * 255
17- g = c .V * 255
18- b = c .V * 255
19- } else {
20- h := c .H * 6
21- if h == 6 {
22- h = 0
16+ return & RGB {
17+ R : c .V ,
18+ G : c .V ,
19+ B : c .V ,
2320 }
24- i := math .Floor (h )
25- v1 := c .V * (1 - c .S )
26- v2 := c .V * (1 - c .S * (h - i ))
27- v3 := c .V * (1 - c .S * (1 - (h - i )))
21+ }
2822
29- switch i {
30- case 0 :
31- r = c .V
32- g = v3
33- b = v1
34- case 1 :
35- r = v2
36- g = c .V
37- b = v1
38- case 2 :
39- r = v1
40- g = c .V
41- b = v3
42- case 3 :
43- r = v1
44- g = v2
45- b = c .V
46- case 4 :
47- r = v3
48- g = v1
49- b = c .V
50- default :
51- r = c .V
52- g = v1
53- b = v2
54- }
23+ i := math .Floor (c .H * 6.0 )
24+ f := c .H * 6.0 - i
25+ p := c .V * (1 - c .S )
26+ q := c .V * (1 - c .S * f )
27+ t := c .V * (1 - c .S * (1 - f ))
5528
56- r = r * 255
57- g = g * 255
58- b = b * 255
29+ switch int (i ) % 6 {
30+ case 0 :
31+ r = c .V
32+ g = t
33+ b = p
34+ case 1 :
35+ r = q
36+ g = c .V
37+ b = p
38+ case 2 :
39+ r = p
40+ g = c .V
41+ b = t
42+ case 3 :
43+ r = p
44+ g = q
45+ b = c .V
46+ case 4 :
47+ r = t
48+ g = p
49+ b = c .V
50+ case 5 :
51+ r = c .V
52+ g = p
53+ b = q
5954 }
55+
6056 rgb := & RGB {r , g , b }
6157 return rgb
6258}
You can’t perform that action at this time.
0 commit comments