Thumbnails erzeugen

Raven280438

Erfahrenes Mitglied
Hi,

ich habe im Internet eine Funktion gefunden, mit der man Thumbnails aus Bildern erzeugen kann.

Das Problem ist jetzt, dass die Thumbnails ziemlich komisch aussehen.

Orginal - Thumbnail

Hier das Skript:
PHP:
$sourcefile = "pfad_zum_bild/bild.jpg";

$size = getimagesize($sourcefile);

$breite = $size[0];
$hoehe = $size[1];
$neueHoehe = 100;
$neueBreite = intval($breite*$neueHoehe/$hoehe); 

if($size[2] == 1) {
	//GIF
	$altesBild = imagecreatefromgif($sourcefile);
	$neuesBild = imagecreate($neueBreite,$neueHoehe);
	imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
	imageGIF($neuesBild); 
} elseif ($size[2] == 2) {
	//JPEG
	$altesBild = ImageCreateFromJPEG($sourcefile);
	$neuesBild = imagecreate($neueBreite,$neueHoehe);
	imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
	ImageJPEG($neuesBild);
} elseif ($size[2] == 3) {
	//PNG
	$altesBild = ImageCreateFromPNG($sourcefile);
	$neuesBild = imagecreate($neueBreite,$neueHoehe);
	imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
	ImagePNG($neuesBild);
}

Kann mir da jemand weiterhelfen? Oder hat jemand ein Skript, dass diese Fehler nicht erzeugt.


Gruß
 
Ich hab jetzt imagecopyresampled() eingesetzt, da funktioniert es erstmal.

Nur mit transparenten Hintergründen gibts noch Probleme ;)
 
JPEG kennt keine Transparenz.
Und wie vorgeschlagen wurde ist imagecreatetruecolor() besser, und auch das von Dir nun genutzte imagecopyresampled() ist besser als ...resized().
 
Zurück