Übersicht » Einführung CSV
Diese kleine Klasse lässt sich praktisch überall einsetzen, wo es um die Erzeugung von Thumbnails geht. Allenfalls könnten geringfügige Ergänzungen erforderlich werden, z.B. um eine andere Größe für die Vorschaubilder vorzugeben.
Klasse zur Erzeugung von Vorschaubildern (thumbs-klasse.php):
<?php /*-- Klasse für die Erzeugung von Vorschaubildern bzw. Thumbnails -----------*/ class KleineBilder { private $vorw = 220; // max. Breite für Vorschaubilder private $vorh = 200; // max. Höhe für Vorschaubilder private $proz; // Wert für Verkleinerung public $neuw; // errechnete Weite für Thumbs public $neuh; // errechnete Höhe für Thumbs public $oldw; // ursprüngliche Bildweite public $oldh; // ursprüngliche Bildhöhe public $mime; // Mime-Type JPG oder PNG public $bilder; // Pfad des eigentlichen Images public $thumbs; // Pfad für das Vorschaubild public function generiereThumbs() { $this->neuh = $this->oldh; $this->neuw = $this->oldw; /*-- Berechnung der Größe des Vorschaubildes ------------------------*/ if ($this->oldh > $this->vorh){ $this->neuh = $this->vorh; $this->proz = $this->oldh / $this->vorh; $this->neuw = round($this->oldw / $this->proz); } if ($this->oldw > $this->vorw){ $this->neuw = $this->vorw; $this->proz = $this->oldw / $this->vorw; $this->neuh = round($this->oldh / $this->proz); } /*--------------------------------------------------------------------- Erzeugung eines Vorschaubildes, Erzeugung eines Bildes im JPEG- oder PNG-Format aus einem vorhanden Bild, dieses kopieren und verkleinert unter einem neuen Namen oder in einem anderen Verzeichnis abspeichern. ---------------------------------------------------------------------- */ $istneu = imagecreatetruecolor($this->neuw, $this->neuh); if ($this->mime == "image/jpeg") { $istalt = imagecreatefromjpeg($this->bilder); imagecopyresized( $istneu, $istalt, 0, 0, 0, 0, $this->neuw, $this->neuh, $this->oldw, $this->oldh); imagejpeg($istneu, $this->thumbs); } if ($this->mime == "image/png"){ $istalt = imagecreatefrompng($this->bilder); imagecopyresized( $istneu, $istalt, 0, 0, 0, 0, $this->neuw, $this->neuh, $this->oldw, $this->oldh); imagepng($istneu, $this->thumbs); } imagedestroy($istalt); imagedestroy($istneu); } } ?>