Zurück
Januar 15 2009

Durchschnitt

Ausnahmsweise gibt es dieses Mal keinen Artikel zum Thema Fotografie. Indirekt geht es aber um Bilder. Ich habe den folgenden PHP-Code geschrieben, um mir die durchschnittliche Farbe eines Bildes auszurechnen. Diesen RGB-Wert konnte ich danach als Hintergrund für die Seite verwenden, die meine Fotos auf Flickr anzeigt. Der Code setzt das GD-Modul für PHP voraus.

PHP:
  1. // $imagepath ist der Pfad zur lokalen JPEG-Datei, z.B. einem Thumbnail
  2. // des Bildes, dessen Farbe ermittelt werden soll.
  3. $src = @imagecreatefromjpeg($imagepath);
  4. if ($src) {
  5.   $src_width  = imagesx($src);
  6.   $src_height = imagesy($src);
  7.   $dst        = imagecreatetruecolor(1, 1);
  8.   imagecopyresampled($dst, $src, 0, 0, 0, 0, 1, 1, $src_width, $src_height);
  9.   $color = imagecolorat($dst, 0, 0);
  10.   $alpha = ($color>> 24) & 0xFF;
  11.   $red   = ($color>> 16) & 0xFF;
  12.   $green = ($color>> 8) & 0xFF;
  13.   $blue  = ($color) & 0xFF;
  14.   imagedestroy($src);
  15.   imagedestroy($dst);
  16. }

Mehr