Webstatt.org - Community seit 2006 - 2012 (2024?)

thumbnail funktion will nicht

Avatar user-279
09.12.2006 15: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"zwinkern;

switch ($image_info[2])
{
case 2:
$src_img = imagecreatefromjpeg($image_dir.$image.".jpg"zwinkern;
$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"zwinkern;
break;
}
}


danke schonmal für die hilfe.

so long

Avatar user-236
09.12.2006 16:12

Hi,

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

http://de3.php.net/imagecreatetruecolor

signature in progress
Avatar user-279
09.12.2006 17:48

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

Avatar user-279
11.12.2006 08:10

niemand?

user-303
11.12.2006 12:53

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

Avatar user-279
11.12.2006 14:14

ok, werds heute abend mal so debuggen.

user-186
12.12.2006 06: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"zwinkern;
$breite=$size[0];
$hoehe=$size[1];
$neueBreite=60;
$neueHoehe=intval($hoehe*$neueBreite/$breite);
if($size[2]==2) {
// JPG
$altesBild=ImageCreateFromJPEG("$PicPathIn"."$bild"zwinkern;
$neuesBild=ImageCreateTrueColor($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,
$neueHoehe,$breite,$hoehe);
ImageJPEG($neuesBild,"$PicPathOut"."$bild"zwinkern;
}

if($size[2]==1) {
// GIF
$altesBild=ImageCreateFromGIF("$PicPathIn"."$bild"zwinkern;
$neuesBild=ImageCreate($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,
$neueHoehe,$breite,$hoehe);
ImageGIF($neuesBild,"$PicPathOut"."$bild"zwinkern;
}

$Tumbnail=$PicPathOut.$bild;


vielleicht hilfts dir ja zwinkern

Avatar user-279
14.12.2006 13: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 lächeln
das thumbnail bleibt aber immernoch schwarz? hab jetzt schon mehere beispiele angeschaut und die stimmen bis auf die variablennamen überein..