Thumbnails erzeugen
Verfasst: 30.09.2005, 01:16
Hi,
um bilder in unterschiedlichen größen zu generieren, habe ich mir eine einfache funktion gebaut:
Soweit funktioniert die Funktion auch, jedoch gibst da zwei kleine Probleme.
Hin und wieder werden Bilder erzeugt, die komplett schwarz sind. Ich habe mir von diesen Bildern mal die Original Dateien angesehen. Entweder die Bilder sind kaputt (wenn ich Sie im Web angucke sehe ich nur die Umrisse der breite) oder die Bilder sind vorhanden und haben eine sehr breite Breite (wie sich das anhört
).
Schwarze Bilder möchte ich nicht haben, da lasse ich lieber mein 404 Bild anzeigen. Wo im Quelltext kann ich abfragen ob ein sauberes Bild erzeugt werden konnte oder ist dies nicht möglich?
Hin und wieder kommt auch mal so ne Fehlermeldung:
Warning: imagecreatefromjpeg(): '.....' is not a valid JPEG file
Die Original Datei, kann aber ohne Probleme angezeigt werden. Muss ja irgendwas nicht stimmen?
Phil
um bilder in unterschiedlichen größen zu generieren, habe ich mir eine einfache funktion gebaut:
Code: Alles auswählen
function createThumb($remote, $img_width, $target)
{
// Bildgröße ermitteln
list($src_width, $src_height, $type) = getimagesize($remote);
// Die breite muss verkleinert werden
if ($src_width > $img_width)
{
$new_width = $img_width;
$new_height = intval($src_height*$new_width/$src_width);
switch($type)
{
case 1:
$old_image = ImageCreateFromGIF($remote);
$new_image = ImageCreate($new_width, $new_height);
ImageCopyResized($new_image, $old_image, 0, 0, 0, 0, $new_width, $new_height, $src_width, $src_height);
ImageJPEG($new_image, $target);
break;
case 2:
$old_image = ImageCreateFromJPEG($remote);
$new_image = ImageCreate($new_width, $new_height);
ImageCopyResized($new_image, $old_image, 0, 0, 0, 0, $new_width, $new_height, $src_width, $src_height);
ImageJPEG($new_image, $target);
break;
}
}
else
{
// bildgröße okay
copy($remote, $target);
}
}
Hin und wieder werden Bilder erzeugt, die komplett schwarz sind. Ich habe mir von diesen Bildern mal die Original Dateien angesehen. Entweder die Bilder sind kaputt (wenn ich Sie im Web angucke sehe ich nur die Umrisse der breite) oder die Bilder sind vorhanden und haben eine sehr breite Breite (wie sich das anhört

Schwarze Bilder möchte ich nicht haben, da lasse ich lieber mein 404 Bild anzeigen. Wo im Quelltext kann ich abfragen ob ein sauberes Bild erzeugt werden konnte oder ist dies nicht möglich?
Hin und wieder kommt auch mal so ne Fehlermeldung:
Warning: imagecreatefromjpeg(): '.....' is not a valid JPEG file
Die Original Datei, kann aber ohne Probleme angezeigt werden. Muss ja irgendwas nicht stimmen?
Phil