Moin,
ich hab seit einiger Zeit eine Gallery am laufen, die ich noch ein wenig verschönern möchte. Die Gallery habe ich mir aus verschiedenen Scripten zusammengezimmert (upload, thumbnails on the fly anzeigen, ansicht der bilder)...
Die Thumbnails haben feste größen/breiten-angaben, das sieht bei mir deswegen ein bisschen blöd aus, weil ich viele verschiedenen Bildformate habe... Ich möchte, dass alles Thumbnails die gleiche Größe bekommen. Hab natürlich google bemüht, finde aber kein passendes Beispiel, das mir zeigt, wie ich mein Script dazu umschreiben müsste...
hier mal das script, was die thumbnails erzeugt, verlinkt und anzeigt:
vllt. hat ja jemand n tip...
gruss
ich hab seit einiger Zeit eine Gallery am laufen, die ich noch ein wenig verschönern möchte. Die Gallery habe ich mir aus verschiedenen Scripten zusammengezimmert (upload, thumbnails on the fly anzeigen, ansicht der bilder)...
Die Thumbnails haben feste größen/breiten-angaben, das sieht bei mir deswegen ein bisschen blöd aus, weil ich viele verschiedenen Bildformate habe... Ich möchte, dass alles Thumbnails die gleiche Größe bekommen. Hab natürlich google bemüht, finde aber kein passendes Beispiel, das mir zeigt, wie ich mein Script dazu umschreiben müsste...
hier mal das script, was die thumbnails erzeugt, verlinkt und anzeigt:
Code:
<?php> $verzeichnis = './pixxx'; // Ordner der benützt werden // soll $bilder_ext = 'gif|jpeg|jpg|png'; // Datei-Endungen die // angezeigt werden sollen // Nur Kleinbuchstaben!!! $thumb_breite = 80; // max. Thumbnailbreite $thumb_hoehe = 60; // max. Thumbnailhoehe $thumb_qualitaet = 80; // Qualiät in Prozent $site_galerie_titel = ''; // Titel $site_galerie_ppr = 5; // Anzahl Bilder pro Linie $site_random_titel = 'Random Picture Show'; // Titel $site_random_sek = 3; // Anzahl Sekunden bis zum Bildwechsel // </Konfiguration> // AB HIER NICHTS MEHR AENDERN $version = '0.7'; switch($_GET['action']){ case 'picture:thumb': $filename = str_replace('/','',$_GET['file']); if(file_exists($verzeichnis.'/'.$filename)){ $file = getimagesize($verzeichnis.'/'.$filename); $hoehe_alt = $file[1]; $breite_alt = $file[0]; $h_div = $thumb_hoehe/$hoehe_alt; $b_div = $thumb_breite/$breite_alt; if($h_div<$b_div){ $hoehe_neu = $thumb_hoehe; $breite_neu = $breite_alt*$h_div; } else { $hoehe_neu = $hoehe_alt*$b_div; $breite_neu = $thumb_breite; } switch($file[2]){ case 1: $src = imagecreatefromgif($verzeichnis.'/'.$filename); break; case 2: $src = imagecreatefromjpeg($verzeichnis.'/'.$filename); break; case 3: $src = imagecreatefrompng($verzeichnis.'/'.$filename); break; } $dest = imagecreatetruecolor($breite_neu, $hoehe_neu); imagecopyresampled($dest,$src,0,0,0,0,$breite_neu, $hoehe_neu,$breite_alt,$hoehe_alt); header('Content-Type: image/jpeg'); echo imagejpeg($dest,'',$thumb_qualitaet); } else { die('Fehler: Dieses Bild existiert nicht!!!'); } break; case 'info': echo 'phpNetz Gallery_'.$version; break; case 'info:version': echo $version; break; // <Galerie> case 'site:galerie': $files = array(); $ext_tpl = explode('|',strtolower($bilder_ext)); $handle=opendir($verzeichnis); while (false !== ($datei = readdir($handle))) { if ($datei != "." && $datei != ".."){ $file_ext = str_replace('.','',strtolower(strrchr($datei,"."))); $ext_allowed = $ext_tpl; while (list(, $ext_now) = each ($ext_allowed)){ if($ext_now == $file_ext){ $files[] = $datei; } } } } closedir($handle); echo "<html><head>\n<title>".$site_galerie_titel."</title>\n</head>\n<body><table border=\"0\" align=\"left\" cellspacing=\"0\" cellpadding=\"0\"><tr align=\"left\"><td>"; echo '<h1>'.$site_galerie_titel.'</h1>'; $akt_p = 0; while(list(,$file)=each($files)){ echo "<a target=\"_blank\" href=\"".$verzeichnis.'/'.$file."\" rel=\"lightbox\"> <img src=\"X-ausstellung.php?action=picture:thumb&file=".$file."\" alt=\"".$file."\" border=\"1\"></a> \n"; $akt_p++; if($akt_p>=$site_galerie_ppr){ echo '<br>'; $akt_p = 0; } } echo "</td>\n\n</tr>\n</table>\n</body>\n</html>\n"; break; } ?>
gruss
Kommentar