flying-anzi
Erfahrenes Mitglied
hallo
was ist an meinem Uploadscript falsch wenn ich gif Files uploade dann wird das Wasserzeichen hässlich...
was ist an meinem Uploadscript falsch wenn ich gif Files uploade dann wird das Wasserzeichen hässlich...
PHP:
//GIF Upload
IF ($_FILES['upload']['type'] == "image/gif") {
$PicPathIn="./images/"; // Hier gebt ihr den Ordner an, wo sich die vollen bilder befinden. Bei mir habe ich den Ordner Screens benutzt, da mandiese ja nicht einfach alle aufeinmal in eienr übersicht anzeigen lassen kann.
$PicPathOut="./images/thumb/"; // Hier in diesen ordner wird das Bild nachher gespeichert. Ich rate euch einen anderen Ordner zu nehmen, damit euer großes Bild nicht überschrieben wird
/** Orginalbild **/
$bild="$name"; // Hier den Namen eingeben, wie das Bild in dem ausgewählten Ordner heißt
/** Bilddaten feststellen **/
$size=@getimagesize("$PicPathIn"."$bild"); // Hierbei wird ermittelt, wie groß das Bild ist (Höhe, Breite und Typ [Typ wird in diesem tut allerdings nicht benutzt])
$breite=$size[0]; // Die Breite des alten Bildes wird in eine Variable geladen
$hoehe=$size[1]; // Die Höhe des alten Bildes wird in eine Variable geladen
$neueBreite= 200; // die Variablen sagen alles
$neueHoehe= $neueBreite / 1.333333; // hierbei könnte man exakt berechnen, wie hoch es verglichen mit dem alten Bild sein soll aber das habe ich hier jetzt erstmal noch nicht gemacht
/** JPG thumbnail erzeugen **/
$altesBild=ImageCreateFromGIF("$PicPathIn"."$bild"); // Das große Bild wird für den späteren Prozess erstellt.
$neuesBild=imageCreateTrueColor($neueBreite,$neueHoehe); // Hierbei geibt es viele Diskussionen und bei vielen Homepages steht da was anderes, was dazu führt, dass das bild dunkler und ungenauer wird! mit dieser Funktion wird das Bild also für die passenden Farben erstellt.
@imagecopyresampled($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe); // Das Bild wird kopiert und danach verkleinert
@ImageGIF($neuesBild,"$PicPathOut".""."$bild"); // Das Bild wird gespeichert. Zwischen den 2 Anführungszeichen kann man noch bspw. tn_ hinsetzen, damit man das bild im selben Ordner speichern kann (bsp. screen.jpg - tn_screen.jpg)
$Wasserzeichen = ImageCreateFromPNG("watermark.png");
ImageCopy($altesBild, $Wasserzeichen, imagesx($altesBild)-imagesx($Wasserzeichen), imagesy($altesBild)-imagesy($Wasserzeichen), 0, 0, imagesx($Wasserzeichen), imagesy($Wasserzeichen));
@ImageGIF($altesBild,"$PicPathIn".""."$bild");
Zuletzt bearbeitet: