Willkommen in der Webstatt Zum Webstatt Blog und Stories
phore phore am 09.12.06 16:52

hallo.
ich wil bei einem berichterfassungsmodul upgeloadete bilder on-the-fly als thumbnails in einen ordner speichern. der upload und das thumbnail erstellen funktioniert, aber das thumbnail ist dann einfach ein schwarzes bild mit zu grosser höhe.

hier mein code:
$image ist der name des raufgeladenen bildes, ohne dateiendung, zb. "fenster"
$image_dir ist "ordnername/berichtname/"
$new_width ist 80

die parameter werden korrekt übertragen.

function create_thumb ($image, $image_dir, $new_width) {
$image_info = getimagesize($image_dir.$image.".jpg");

switch ($image_info[2])
{
case 2:
$src_img = imagecreatefromjpeg($image_dir.$image.".jpg");
$ratio = $image_info[0] / $new_width;
$new_height = $image_info[1] * $ratio;

$thumbnail = imagecreate($new_width, $new_height);
imagecopyresized($thumbnail, $scr_img, 10, 10, 10, 10, $new_width, $new_height, $image_info[0], $image_info[1]);
imagejpeg($thumbnail, $image_dir.$image."_thumb.jpg");
break;
}
}


danke schonmal für die hilfe.

so long

netcup.de Warum gibt es hier Werbung?
mab mab am 09.12.06 17:12

Hi,

auf den ersten Blick würde ich das ändern:

http://de3.php.net/imagecreatetruecolor

phore phore am 09.12.06 18:48

hab das mal so geändert - das thumbnail bleibt aber gleich..

phore phore am 11.12.06 09:10

niemand?

Snake am 11.12.06 13:53

lass dir mal alle ausgerechneten werde (höhe, breite) ausgeben und rechne es von hand nach, ob die werte korrekt sind

phore phore am 11.12.06 15:14

ok, werds heute abend mal so debuggen.

gecko am 12.12.06 07:14

hi

ich hab das hier bei mir im einsatz. ist aus den weiten des www gefischt und bei mir funzt es soweit einwandfrei.

#Automatisch ein Thumbnail-Bild generieren
#Pfad wo das originalbild liegt
$PicPathIn=$dir_upload;
#########

#Pfad wo das Thumbnail gespeichert werden soll
$PicPathOut=$dir_upload.'thumbs/';
#########

#Orginalbild
$bild=$image;
#########

#Bilddaten feststellen
$size=getimagesize("$PicPathIn"."$bild");
$breite=$size[0];
$hoehe=$size[1];
$neueBreite=60;
$neueHoehe=intval($hoehe*$neueBreite/$breite);
if($size[2]==2) {
// JPG
$altesBild=ImageCreateFromJPEG("$PicPathIn"."$bild");
$neuesBild=ImageCreateTrueColor($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,
$neueHoehe,$breite,$hoehe);
ImageJPEG($neuesBild,"$PicPathOut"."$bild");
}

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"."$bild");
}

$Tumbnail=$PicPathOut.$bild;


vielleicht hilfts dir ja ;)

phore phore am 14.12.06 14:37

hey. danke - ich werds mir mal anschauen.


/edit.

habs jetzt nochmal durchgerechnet - und die zu grosse höhe kommt davon, dass ich * statt / hatte :)
das thumbnail bleibt aber immernoch schwarz? hab jetzt schon mehere beispiele angeschaut und die stimmen bis auf die variablennamen überein..

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt