GDlib: Schwarze Bilder bei Thumbnailerstellung
Dietmar
- php
Tachchen!
Also, ich habe ein kleines Problem bei der Verwendung meiner GDlib: Es kommt vereinzelt dazu, dass die zu erstellenen Thumbnails schwarz werden. Hängt das damit zusammen, dass ich die Bilder in einer foreach erzeugen lasse? Muss ich also Speicher des Servers freigeben? Und wie kann ich das tun?
foreach ($bild as $dateiname)
{
$groesse=getimagesize("$verz/$dateiname");
$breite=$groesse[0];
$hoehe=$groesse[1];
$typ=$groesse[2];
$hoehe2=$hoehe*100/$breite;
$image1 = imagecreatetruecolor(100,$hoehe2);
ImageCopyResampled($image1, $image, 0,0, 0,0,100,$hoehe2,$breite,$hoehe);
imagejpeg($image1,"$verz/thumbs/$dateiname",50);
}
mfg,
Dietmar
Hi,
$image scheint undefiniert. Du musst ja erstmal die Bilddaten des großen Bildes auslesen:
Bei JPG mit
$image = ImageLoadFromJPEG("Pfad");
Dann kopierst du den Inhalt resampled in $image1.
Christian
Tachchen!
Also, ich habe ein kleines Problem bei der Verwendung meiner GDlib: Es kommt vereinzelt dazu, dass die zu erstellenen Thumbnails schwarz werden. Hängt das damit zusammen, dass ich die Bilder in einer foreach erzeugen lasse? Muss ich also Speicher des Servers freigeben? Und wie kann ich das tun?
foreach ($bild as $dateiname)
{$groesse=getimagesize("$verz/$dateiname");
$breite=$groesse[0];
$hoehe=$groesse[1];
$typ=$groesse[2];
$hoehe2=$hoehe*100/$breite;
$image1 = imagecreatetruecolor(100,$hoehe2);
ImageCopyResampled($image1, $image, 0,0, 0,0,100,$hoehe2,$breite,$hoehe);
imagejpeg($image1,"$verz/thumbs/$dateiname",50);}
mfg,
Dietmar
Hi !
Beachte vor allem, dass die Funktion "imagecreatetruecolor" die GD Bibliothek in der Version 2.0.1 oder höher benötigt. Auf meinem Server wurden die Bilder daher auch schwarz. Besser ist "imagecreate" aber dementsprechend sieht das ganze dann auch aus.
Gleiches gilt übrigens für "ImageCopyResampled" --> "ImageCopyResized"!
Gruß Christian