Bild am Server verkleinern

Hey Leute …
ich hab ein kleines Problem.
Ich lad mit nem PHP upload ein Bild auf den Server und möchte dieses Bild dann verkleinern.

[code]
$tempbild = $bildname;
$size=getimagesize(„$bildname“);

$breite=$size[0];
$hoehe=$size[1];

$neueBreite=40;
$neueHoehe=intval($hoehe*$neueBreite/$breite);
$altesBild=ImageCreateFromJPEG(„$tempbild“);
$neuesBild=ImageCreate($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImageJPEG($neuesBild,„thumb“.„$tempbild“);
[/code]Den Code hab ich mir jetzt aus den Internet geholt und funkt auch … allerdings nur wenn das Bild im selben Verzeichnis liegt. Wie funktioniert dass allerdings wenn das Bild zum Beispiel im Untergeordneten Verzeichnis liegen würde?

Danke (:

Dann musst Du den richtigen Pfad zum Bild angeben bzw in $bildname stehen haben.

ja nur sagt am mir dann imma dass a die Bildgröße von $bildname nicht berechnen kann?

Dann stimmt vermutlich der Pfad nicht.

Okke danke hab den Fehler schon … hab den Pfad wirklich falsch angegeben :wink:

nur bekomm ich jz Bilder entweder schwarz weiß oder andere komischen Farben … nur nicht so wie ichs haben will?
könntes dir bitte mal den Code ansehn?

$pfad = "../bilder/";
$tempname = $pfad.$bildname;
$size=getimagesize("$tempname");

$breite=$size[0];
$hoehe=$size[1];

$neueBreite=100;
$neueHoehe=intval($hoehe*$neueBreite/$breite);
$altesBild=ImageCreateFromJPEG("$tempname");
$neuesBild=ImageCreate($neueBreite,$neueBreite);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueBreite,$breite,$breite);
ImageJPEG($neuesBild,"$pfad"."file"."$bildname");
unlink($tempname);

thx

Vermutlich liegt es daran, dass Du das neue Bild nicht mit der imagecreatetruecolor()-Funktion erstellst. Hier mal eine Funktion, die bei mir läuft.
[php]
function bild_thumbn($val1, $val2) {
// $val1 = Name (incl. Pfad) des neuen Bildes
// $val2 = Name (incl. Pfad) des hochgeladenen Bildes
$info = getimagesize($val2);
$breite=$info[0];
$hoehe=$info[1];
if ($breite > $hoehe) {
$breite_neu=100;
$hoehe_neu=$hoehe*($breite_neu/$breite);
}
else {
$hoehe_neu = 75;
$breite_neu = $breite * ($hoehe_neu / $hoehe);
}
$bild_res = imagecreatetruecolor($breite_neu, $hoehe_neu);
$bild_res2 = imagecreatefromjpeg($val2);
imagecopyresampled($bild_res, $bild_res2, 0, 0, 0, 0, $breite_neu, $hoehe_neu, $breite, $hoehe);
imagejpeg($bild_res, $val1);
}[/php]

Gruß thuemmy