Generare un colore randomico di tonalità "pastello"

Questo script restituisce il codice di un colore generato a caso nelle tonalità pastello.

La generazione viene definita attraverso le 3 caratteristiche "hue", "saturation" e "brightness".

Poi utilizza la funzione HSVToColor.

I tre parametri sono definiti in questo modo:

HUE

E' un valore intero tra 0 e 360 (rappresenta i "gradi" nel cerchio di selezione dei colori), che però viene passato come float.

SATURATION

E' un float tra 0 e 1, cioè un valore percentuale. Più è alto, più il colore è "carico".

BRIGHTNESS

E' un float tra 0 e 1, cioè un valore percentuale. Più è alto, più il colore è "chiaro".

Questo è il codice:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
private String getRandomColor()
{
    // variabili di appoggio
    int newColor;
    Random rnd = new Random();

    // generazione di HUE, SATURATION e BRIGHTNESS
    int hue = (int) Math.floor(0 + rnd.nextDouble()*(360));
    int saturation = (int) Math.floor(0 + rnd.nextDouble()*(40));
    int brightness = (int) Math.floor(70 + rnd.nextDouble()*(30));

    // HSVToColor ( [0..360], [0..1], [0..1])
    newColor = android.graphics.Color.HSVToColor(new float[] {((float) hue), ((float) saturation) / 100, ((float) brightness) / 100});

    return String.format("#%06X", (0xFFFFFF & newColor));

} // getRandomColor

Generare un colore randomico di tonalità "pastello"

Questo script restituisce il codice di un colore generato a caso nelle tonalità pastello. La generazione viene definita attraverso le 3 ca...