phpbar.de logo

Mailinglisten-Archive

AW: [php] Thumbnails erstellen...

AW: [php] Thumbnails erstellen...

Tobias Hovorka php_(at)_phpcenter.de
Thu, 20 Dec 2001 03:06:58 +0100


Hi!

> Kann mir jemand sagen wie ich dennoch die Bilder ohne Farbverlust
> verkleinern kann
> oder hat evtl. einen Codeschnippsel dafür parat...

Ich hatte das Problem auch mal und in einem Forum diese Funktion
Gefunden:

function tumb_erzeugen($bild_url,$zieldir) { //$bils_url der Names des
Bildes z.B. das_bild.jpg

$PicPathIn="$zieldir/"; // Dein Verzeichnis des Original Bildes z.B.
bilder/
$PicPathOut="$zieldir/thumb/"; // Dein Tumb Ziel Verzeichnis

// Festellen ob Bild vorhanden
$file = file_exists($PicPathIn . $bild_url);
if($file == false) {
/* Erzeugen eines leeren Bildes */
$im = ImageCreate (100, 50);
$bgc = ImageColorAllocate ($im, 255, 255, 255);
$tc = ImageColorAllocate ($im, 0, 0, 0);
ImageFilledRectangle ($im, 0, 0, 100, 50, $bgc);

/* Ausgabe einer Fehlermeldung */
ImageString($im, 1, 5, 5, "Kein Bild", $tc);
ImageJPEG($im,"$PicPathOut"."$bild_url");
imagedestroy ($im);
}
else
{
// Bilddaten feststellen
$size=getimagesize("$PicPathIn"."$bild_url");
$breite=$size[0];
$hoehe=$size[1];
$neueHoehe=75; // Hier gibs du die neue Grösse an - Höhe wird
automatisch berechnet.
$neueBreite=intval($breite*$neueHoehe/$hoehe);

if($size[2]==1) { // GIF
$altesBild=ImageCreateFromGIF("$PicPathIn"."$bild_url");
$neuesBild=ImageCreate($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,
$neueHoehe,$breite,$hoehe);
ImageGIF($neuesBild,"$PicPathOut" . "$bild_url");
}
if($size[2]==2) { // JPG
$altesBild=ImageCreateFromJPEG("$PicPathIn"."$bild_url");
$neuesBild=ImageCreate($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$b
reite,$hoehe);
ImageJPEG($neuesBild,"$PicPathOut"."$bild_url");
}
if($size[2]==3) { // PNG
$altesBild=ImageCreateFromPNG("$PicPathIn"."$bild_url");
$neuesBild=ImageCreate($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,
$neueHoehe,$breite,$hoehe);
ImagePNG($neuesBild,"$PicPathOut"."$bild_url");
}
}
$tumbnail=$PicPathOut . $bild_url;
echo " THUMBNAIL:<br><img src=\"" . $tumbnail . "\" with=\"80\"
border=\"0\"><br>";
}


Hoffe das hilft dir weiter

Gruß

Tobias


php::bar PHP Wiki   -   Listenarchive