PHP - Images mit GD skalieren

F.o.G.

Erfahrenes Mitglied
Hallo,
ich knobel momentan an einer Aufgabe und komm nicht weiter: Wie kann ich per GD ein Bild automatisch auf 450 Pixel Breite skalieren, wenn ich die Höhe nicht kenne? Das Problem ist nämlich, dass das Bild nicht verzerrt werden darf.

Ich bin mir sicher, das man das Ganze per PHP berechnen könnte, aber gibt es vielleicht eine vordefinierte Funktion? Naja, und wenn nicht, kann mir dann trotzdem jemand helfen?

Ciao, F.o.G.
 
Also eigentlich steht das hier schon mindestens einmal in irgendeinem Thread. Also mal bitte demnächst die Suchfunktion benutzen!

Hier der Quellcode:
PHP:
function CreateThumb ($PicPathIn, $PicPathOut, $bild, $newfilename) {
	//$PicPathIn="../bilder/"; 
	//$PicPathOut="../bilder/out/"; 
	// Orginalbild 
	//$bild="Foto.jpg"; 
	// Bilddaten feststellen 
	
	$size=getimagesize("$PicPathIn"."$bild"); 
	$breite=$size[0]; 
	$hoehe=$size[1]; 
	$neueBreite=130; 
	$neueHoehe=intval($hoehe*$neueBreite/$breite); 
	
	if($size[2]==1) { 
		// GIF 
		$altesBild=ImageCreateFromGIF("$PicPathIn"."$bild");
		$neuesBild=ImageCreate($neueBreite,$neueHoehe);
		ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite, $neueHoehe,$breite,$hoehe);
		ImageGIF($neuesBild,"$PicPathOut"."$newfilename"); 
	} 
	
	if($size[2]==2) { 
		// JPG 
		$altesBild=ImageCreateFromJPEG("$PicPathIn"."$bild");
		$neuesBild=ImageCreate($neueBreite,$neueHoehe);
		ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite, $neueHoehe,$breite,$hoehe);
		ImageJPEG($neuesBild,"$PicPathOut"."$newfilename"); 
	} 

}
 
Zurück