mirror of
https://gitea.com/Sirherobrine23/tea.git
synced 2024-08-22 05:37:24 +00:00
26 lines
746 B
Go
26 lines
746 B
Go
|
package colorful
|
||
|
|
||
|
import (
|
||
|
"math/rand"
|
||
|
)
|
||
|
|
||
|
// Uses the HSV color space to generate colors with similar S,V but distributed
|
||
|
// evenly along their Hue. This is fast but not always pretty.
|
||
|
// If you've got time to spare, use Lab (the non-fast below).
|
||
|
func FastHappyPalette(colorsCount int) (colors []Color) {
|
||
|
colors = make([]Color, colorsCount)
|
||
|
|
||
|
for i := 0; i < colorsCount; i++ {
|
||
|
colors[i] = Hsv(float64(i)*(360.0/float64(colorsCount)), 0.8+rand.Float64()*0.2, 0.65+rand.Float64()*0.2)
|
||
|
}
|
||
|
return
|
||
|
}
|
||
|
|
||
|
func HappyPalette(colorsCount int) ([]Color, error) {
|
||
|
pimpy := func(l, a, b float64) bool {
|
||
|
_, c, _ := LabToHcl(l, a, b)
|
||
|
return 0.3 <= c && 0.4 <= l && l <= 0.8
|
||
|
}
|
||
|
return SoftPaletteEx(colorsCount, SoftPaletteSettings{pimpy, 50, true})
|
||
|
}
|