Zurück zur Übersicht
PHP: Durchschnittsfarbe aus einem Bild ermitteln und Erkennung ob hell oder dunkle Textfarbe geeignet ist
#Tutorials#PHP
Für ein privates Symfony Projekt, dass mit Buchcovern arbeitet benötigte für einen Slider die Durchschnittsfarbe des Covers, sowie die Erkennung, ob diese Farber eher hell oder dunkel ist, um weißen oder schwarzen Text auf das Bild legen zu können. Für die Farbe habe ich mir ColorThief zur Hilfe genommen. Die Erkennung der Helligkeit habe ich mir dann ergoogelt und einen Mittelwert gefunden. Man muss dafür die RGB-Werte mit einer Zahl multiplizieren und dann gucken, wie hoch diese Zahl ist. Das funktioniert bei mir ganz gut.
Hier mal meine Zeilen Code:
$img = 'cover.jpg';
// Color in rgb
$dominantColor = ColorThief::getColor($img);
// color to hex for html usage
$color = sprintf("#%02x%02x%02x", $dominantColor[0], $dominantColor[1], $dominantColor[2]);
// calculate brightness
$brightness = (($dominantColor[0] * 299) + ($dominantColor[1] * 587) + ($dominantColor[2] * 114)) / 1000;
// if brighness is > 130 it is bright
if($brightness > 130) {
$textColor = '#000000';
} else {
$textColor = '#FFFFFF';
}
Kommentare
Es gibt noch keine Kommentare. Sei der Erste!
Hinterlasse einen Kommentar