You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
362 B
20 lines
362 B
package color
|
|
|
|
import (
|
|
"github.com/lucasb-eyer/go-colorful"
|
|
"math"
|
|
)
|
|
|
|
type HueSat struct {
|
|
Hue float64 `json:"hue"`
|
|
Sat float64 `json:"sat"`
|
|
}
|
|
|
|
func (hs HueSat) ToXY() XY {
|
|
return hs.ToRGB().ToXY()
|
|
}
|
|
|
|
func (hs HueSat) ToRGB() RGB {
|
|
c := colorful.Hsv(hs.Hue, hs.Sat, 1)
|
|
return RGB{Red: math.Max(c.R, 0), Green: math.Max(c.G, 0), Blue: math.Max(c.B, 0)}
|
|
}
|