okay. danke für euere hilfe.. einiges klappt soweit (die höhenbrechnung muss e ich korriegieren
)
folgendes probleme habe ich noch:
durchsichtige gifs werden mit schwarz hinterlegt wenn sie kleiner gemacht werden, kann man das durchsichtig lassen oder wenigstens mit einer anderen farbe hinterlegen?.
<?php
// Funktion: Thumbnail erstellen
// =============================
function thumbnail($bild_pfad, $bild_name, $thumbnail_pfad, $thumbnail_name, $thumbnail_breite) {
// Bildeigenschaften: Breite, Höhe, Typ, Dateigrösse
$bild_groesse = getimagesize($bild_pfad . $bild_name);
// Breite des alten Bildes
$bild_breite = $bild_groesse[0];
// Höhe des alten Bildes
$bild_hoehe = $bild_groesse[1];
// Thumbnail nur erstellen, wenn das Bild grösser als der geplante Thumbnail
if($bild_breite > $thumbnail_breite){
// Thumbnail-Höhe berechnen
$thumbnail_hoehe = intval($bild_hoehe / ($bild_breite / $thumbnail_breite));
// Wenn das Bild ein GIF ist, dann GIF-Thumbnail erstellen
if($bild_groesse[2] == 1) {
$altes_gif = ImageCreateFromGIF($bild_pfad . $bild_name);
$neues_gif = ImageCreate($thumbnail_breite, $thumbnail_hoehe);
ImageCopyResampled($neues_gif, $altes_gif, 0, 0, 0, 0, $thumbnail_breite, $thumbnail_hoehe, $bild_breite, $bild_hoehe);
ImageGIF($neues_gif, $thumbnail_pfad . $thumbnail_name);
}
// Wenn das Bild ein JPG ist, dann JPG-Thumbnail erstellen
if($bild_groesse[2] == 2) {
$altes_jpg = ImageCreateFromJPEG($bild_pfad . $bild_name);
$neues_jpg = imagecreatetruecolor($thumbnail_breite, $thumbnail_hoehe);
ImageCopyResampled($neues_jpg, $altes_jpg, 0, 0, 0, 0, $thumbnail_breite, $thumbnail_hoehe, $bild_breite, $bild_hoehe);
ImageJPEG($neues_jpg, $thumbnail_pfad . $thumbnail_name);
}
// Wenn das Bild ein PNG ist, dann PNG-Thumbnail erstellen
if($bild_groesse[2] == 3) {
$altes_png = ImageCreateFromPNG($bild_pfad . $bild_name);
$neues_png = imagecreatetruecolor($thumbnail_breite, $thumbnail_hoehe);
ImageCopyResampled($neues_png, $altes_png, 0, 0, 0, 0, $thumbnail_breite, $thumbnail_hoehe, $bild_breite, $bild_hoehe);
ImagePNG($neues_png, $thumbnail_pfad . $thumbnail_name);
}
}
}