Hallo,
ich möchte eine kleine Galerie erstellen, in der jeder seine Bilder hochladen kann.
Nur laden manche ihrere Bilder aber hoch, obwohl idese noch verdammt groß sind. Deshalb würde ich diese gern verkleinern.
Eine feste Größe fpr width und height anzugeben ist allerdings doof, da ich ja nicht weiß, ob das Bild nun für hoch oder quer ist.
Also meine Frage wäre, ob man einstellen kann, dass die längste Seite z.B. auf 400 px verkleinert wird und die kürzere dann halt auf 200px, bzw. am besten proportional?
Das soll allerdings bei der Ausgabe passieren, dass Bild kann ruhig größer gespeichert werden.
Ich habe mir dafür mal ein Script gesucht, aber es funktioniert irgendwie nicht ganz.
Ich bekomme folgenden Fehler:
Vllt. kann mir ja da auch gleich jemand helfen, und ich brauch kein neues Script.
Danke schon mal! ^^
ich möchte eine kleine Galerie erstellen, in der jeder seine Bilder hochladen kann.
Nur laden manche ihrere Bilder aber hoch, obwohl idese noch verdammt groß sind. Deshalb würde ich diese gern verkleinern.
Eine feste Größe fpr width und height anzugeben ist allerdings doof, da ich ja nicht weiß, ob das Bild nun für hoch oder quer ist.
Also meine Frage wäre, ob man einstellen kann, dass die längste Seite z.B. auf 400 px verkleinert wird und die kürzere dann halt auf 200px, bzw. am besten proportional?
Das soll allerdings bei der Ausgabe passieren, dass Bild kann ruhig größer gespeichert werden.
Ich habe mir dafür mal ein Script gesucht, aber es funktioniert irgendwie nicht ganz.
PHP:
<?php
$id = 0;
$kategorie = $_GET['kategorie'];
$sql = "SELECT * FROM bilder WHERE id > '$id' AND id_kategorie = '$kategorie' LIMIT 1";
$result = mysql_query($sql) OR mysql_error();
$row = mysql_fetch_assoc($result);
$id = $row['id'];
$name = $row['url'];
$Grafikdatei = "upload/$name";
$Bilddaten = getimagesize($Grafikdatei);
$OriginalBreite = $Bilddaten[0];
$OriginalHoehe = $Bilddaten[1];
$ThumbnailBreite = 128;
if($OriginalBreite < $ThumbnailBreite)
{
$ThumbnailBreite=$OriginalBreite;
}
$Skalierungsfaktor = $OriginalBreite/$ThumbnailBreite;
$ThumbnailHoehe = intval($OriginalHoehe/$Skalierungsfaktor);
if($Bilddaten[2] == 1)
{
$Originalgrafik = ImageCreateFromGIF($Grafikdatei);
$Thumbnailgrafik = ImageCreateTrueColor($ThumbnailBreite, $ThumbnailHoehe);
ImageCopyResized($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite,
$OriginalHoehe);
ImageGIF($Thumbnailgrafik, "thumb_".$Grafikdatei);
}
elseif($Bilddaten[2] == 2)
{
$Originalgrafik = ImageCreateFromJPEG($Grafikdatei);
$Thumbnailgrafik = ImageCreateTrueColor($ThumbnailBreite, $ThumbnailHoehe);
ImageCopyResized($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite,
$OriginalHoehe);
ImageJPEG($Thumbnailgrafik, "thumb_".$Grafikdatei);
}
elseif($Bilddaten[2] == 3)
{
$Originalgrafik = ImageCreateFromPNG($Grafikdatei);
$Thumbnailgrafik = ImageCreateTrueColor($ThumbnailBreite, $ThumbnailHoehe);
ImageCopyResized($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite,
$OriginalHoehe);
ImagePNG($Thumbnailgrafik, "thumb_".$Grafikdatei);
}
echo"<img src=\"thumb_",
$Grafikdatei,
"\">";
imagedestroy()
?>
Ich bekomme folgenden Fehler:
Warning: imagejpeg() [function.imagejpeg]: Unable to open 'thumb_upload/100_1451.jpg' for writing in /usr/export/www/vhosts/funnetwork/hosting/geilezeit/bild.php on line 41
Warning: Wrong parameter count for imagedestroy() in /usr/export/www/vhosts/funnetwork/hosting/geilezeit/bild.php on line 54
Vllt. kann mir ja da auch gleich jemand helfen, und ich brauch kein neues Script.
Danke schon mal! ^^