Commit 8925ec9a authored by santiaago's avatar santiaago
Browse files

simplify colorByPercentage

parent d91480cb
Loading
Loading
Loading
Loading
+12 −15
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ import (
	"fmt"
	"image/color"
	"log"
	"math"
	"math/rand"
	"strconv"
)
@@ -16,27 +17,23 @@ func RandomColorFromArray(colors []color.RGBA) color.RGBA {
}

// ColorByPercentage returns a color based on the given percentage and the
// number of colors present in the 'colors' array
// number of colors present in the 'colors' array in a gradient way.
func ColorByPercentage(colors []color.RGBA, percentage int) color.RGBA {
	if percentage == 0 {
		percentage = 1
	}
	r := rand.Intn(100)
	cr := rand.Intn(100)

	colorChange := 100 / len(colors)
	frontier := (cr / colorChange)
	frontier := 0
	frontier = int(math.Ceil(float64(r) / float64(colorChange)))

	if r < percentage {
		if frontier == 0 {
		frontier = 1
	} else if frontier == len(colors) {
		frontier = frontier - 1
			frontier++
		}

	if r < percentage {
		return RandomColorFromArray(colors[0:frontier])
		return RandomColorFromArray(colors[:frontier])
	}
	if frontier == len(colors) {
		frontier--
	}
	return RandomColorFromArray(colors[frontier-1:])
	return RandomColorFromArray(colors[frontier:])
}

// FillFromRGBA return a "fill" SVG style from a color.RGBA