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

Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Kommentar wird gespeichert
Danke für deinen Kommentar! Sobald er freigegeben wurde erscheint er hier.