2016-12-21 3 views
1

Ich verwende die folgende Funktion, um Pastellfarben zu erzeugen. Aber manchmal erzeugt es dunkle Schattierungen (wie # B69C97). Wie stelle ich sicher, dass nur helle Farbtöne erzeugt werden?Wie erzeugt man helle Pastellfarben basierend auf einer Zeichenkette?

function get_color($name) { 
    $hash = md5($name); 

    $color1 = hexdec(substr($hash, 8, 2)); 
    $color2 = hexdec(substr($hash, 4, 2)); 
    $color3 = hexdec(substr($hash, 0, 2)); 
    if($color1 < 128) $color1 += 128; 
    if($color2 < 128) $color2 += 128; 
    if($color3 < 128) $color3 += 128; 

    return "#" . dechex($color1) . dechex($color2) . dechex($color3); 
} 
+0

Haben Sie meine Antwort versucht? Hat es geholfen? –

Antwort

0

#B69C97 ist (182,156,151) in RGB. Ihre Definition von "dunkel" nach Ihrem Code ist weniger als 128, was sich als falsch erwiesen hat, da (182, 156, 151) immer noch "dunkel" für Sie ist. Ich würde versuchen, diesen "dunklen" Standardwert von 128 auf etwas höher zu ändern, sagen wir 160. Mit diesem Beispiel werden Sie die Farben entfernen, die wie in Ihrem Fall Werte unter 160 enthalten, und die durchschnittliche Ausgabe heller machen.

Verwandte Themen