ssa

Форк
0
/
colors.go 
32 строки · 552.0 Байт
1
package goroi
2

3
import "math"
4

5
// RGB2HSV converts RGB color to HSV (HSB)
6
func RGB2HSV(R, G, B float64) (H, S, V float64) {
7
	max := math.Max(math.Max(R, G), B)
8
	min := math.Min(math.Min(R, G), B)
9
	h, s, v := 0.0, 0.0, max
10
	if max != min {
11
		d := max - min
12
		s = d / max
13
		h = calcHUE(max, R, G, B, d)
14
	}
15
	return h, s, v
16
}
17
func calcHUE(max, r, g, b, d float64) float64 {
18
	var h float64
19
	switch max {
20
	case r:
21
		if g < b {
22
			h = (g-b)/d + 6.0
23
		} else {
24
			h = (g - b) / d
25
		}
26
	case g:
27
		h = (b-r)/d + 2.0
28
	case b:
29
		h = (r-g)/d + 4.0
30
	}
31
	return h / 6
32
}
33

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.