insp!re
Ensign
- Registriert
- Sep. 2006
- Beiträge
- 142
imagecreatefromjpeg funktioniert nicht
Hallo,
mit einer Funktion möchte ich Bilder verkleinern, doch das funktioniert aus irgendeinem Grund nicht - doch den Fehler finde ich leider nicht.
Die Funktion sieht so aus:
Die Anweisungen innerhalb von if($breite > $neueBreite1) funktionieren nicht, es wird kein Bild gespeichert. Eine Fehlermeldung bekomme ich auch nicht - es passiert einfach nichts weiter. In dem else-Teil funktioniert jedoch alles.
Ich vermute somit, das Problem liegt an imagecopyresampled - doch laut php.net stimmen alle Parameter...
Könnt ihr mir helfen?
Gruß
Martin
Hallo,
mit einer Funktion möchte ich Bilder verkleinern, doch das funktioniert aus irgendeinem Grund nicht - doch den Fehler finde ich leider nicht.
Die Funktion sieht so aus:
PHP:
function to_thumbnail($bild)
{
$file = getimagesize($bild);
if($file[2] == 1)
{
$altesBild = ImageCreateFromGIF($bild);
}
elseif($file[2] == 2)
{
$altesBild = ImageCreateFromJPEG($bild);
}
$breite = $file[0];
$hoehe = $file[1];
$neueBreite1 = 800;
$neueHoehe1 = intval($hoehe * $neueBreite1 / $breite);
if($breite > $neueBreite1)
{
if($file[2] == 1)
{
# GIF
chmod("bildergalerie/".$_POST["id"]."/", 0777);
$neuesBild = imagecreatetruecolor($neueBreite1, $neueHoehe1);
imagecopyresampled($neuesBild, $altesBild, 0, 0, 0, 0, $neueBreite1, $neueHoehe1, $breite, $hoehe);
ImageGIF($neuesBild, "bildergalerie/".$_POST["id"]."/".urlencode($_FILES['File'.$i]['name']));
}
if($file[2] == 2)
{
# JPG
chmod("bildergalerie/".$_POST["id"]."/", 0777);
$neuesBild = imagecreatetruecolor($neueBreite1, $neueHoehe1);
imagecopyresampled($neuesBild, $altesBild, 0, 0, 0, 0, $neueBreite1, $neueHoehe1, $breite, $hoehe);
ImageJPEG($neuesBild, "bildergalerie/".$_POST["id"]."/".urlencode($_FILES['File'.$i]['name']));
}
} else
{
if($file[2] == 1)
{
# GIF
chmod("bildergalerie/".$_POST["id"]."/", 0777);
$neuesBild = imagecreatetruecolor($neueBreite1, $neueHoehe1);
imagecopyresampled($neuesBild, $altesBild, 0, 0, 0, 0, $breite, $hoehe, $breite, $hoehe);
ImageGIF($neuesBild, "bildergalerie/".$_POST["id"]."/".urlencode($_FILES['File'.$i]['name']));
}
if($file[2] == 2)
{
# JPG
chmod("bildergalerie/".$_POST["id"]."/", 0777);
$neuesBild = imagecreatetruecolor($neueBreite1, $neueHoehe1);
imagecopyresampled($neuesBild, $altesBild, 0, 0, 0, 0, $breite, $hoehe, $breite, $hoehe);
ImageJPEG($neuesBild, "bildergalerie/".$_POST["id"]."/".urlencode($_FILES['File'.$i]['name']));
}
}
}
Die Anweisungen innerhalb von if($breite > $neueBreite1) funktionieren nicht, es wird kein Bild gespeichert. Eine Fehlermeldung bekomme ich auch nicht - es passiert einfach nichts weiter. In dem else-Teil funktioniert jedoch alles.
Ich vermute somit, das Problem liegt an imagecopyresampled - doch laut php.net stimmen alle Parameter...
Könnt ihr mir helfen?
Gruß
Martin
Zuletzt bearbeitet: