phillip: thumb function

hallo!

ich habe folgende funktion:

function thumb ($source, $dest)
  {
   $src_width   = 150;
   $src_height  = 150;

$image = imagecreatefromjpeg($source);
   list($src_width, $src_height) = getimagesize($source);
    if($src_width >= $src_height)
     {
      $new_image_width = $img_width;
      $new_image_height = $src_height * $img_width / $src_width;
     }
    if($src_width < $src_height)
     {
      $new_image_height = $img_width;
      $new_image_width = $src_width * $img_height / $src_height;
     }

$new_image = imagecreatetruecolor($new_image_width, $new_image_height);
   imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_image_width,$new_image_height, $src_width, $src_height);
   imagejpeg($new_image, $dest, 100);
  }

eigentlich müsste sie einwandfrei funktionieren...aber ich bekomme folgende fehler:

Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in C:\apachefriends\xampp\xampp\htdocs\yildimaz\check_pictures.php on line 29

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in C:\apachefriends\xampp\xampp\htdocs\yildimaz\check_pictures.php on line 30

Warning: imagejpeg(): supplied argument is not a valid Image resource in C:\apachefriends\xampp\xampp\htdocs\yildimaz\check_pictures.php on line 31

also der 2. und 3. kommt natürlich dadurch zustande, weil bei imagecreatetruecolor() die maße irgendwie falsch sind ... aber wieso ? hmm ich hoffe mir kann jemand helfen ...

phillip

  1. Hi,

    $new_image = imagecreatetruecolor($new_image_width, $new_image_height);

    Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in C:\apachefriends\xampp\xampp\htdocs\yildimaz\check_pictures.php on line 29

    Und was für Werte stehen in den Parametern der Funktion drin?

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. »» Und was für Werte stehen in den Parametern der Funktion drin?

      humb($row["pfad"], "thumbnails/".$name_neu."");

      aber das is schon richtig. ich hab auch ohne variablen probiert, also mit direkten pfaden...hat aber auch nicht funktioniert

  2. Hi phillip,

    also der 2. und 3. kommt natürlich dadurch zustande, weil bei imagecreatetruecolor() die maße irgendwie falsch sind ...

    richtig

    aber wieso ? hmm ich hoffe mir kann jemand helfen ...

    hast du mal geguckt, was in $new_image_height und was in $new_image_width drin steht? da wird vermutlich irgend ein ungültiger Wert drin stehen...

    MfG, Dennis.

    --
    Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:( mo:} zu:|
    That's life - Es gibt im Leben[tm] keine Zurück-Taste. (Fabian Transchel)
    1. hast du mal geguckt, was in $new_image_height und was in $new_image_width drin steht? da wird vermutlich irgend ein ungültiger Wert drin stehen...

      hmm hab geguckt... bei beiden 0. jo also is da der fehler ... nur..ja wie bekomme ich den weg ;) also was muss ich ändern damit die beiden variablen die richtigen werte erhalten?

  3. ih habs :)

    function thumb ($source, $dest)
      {
       $img_width   = 150;
       $img_height  = 150;

    $image = imagecreatefromjpeg($source);

    list($src_width, $src_height) = getimagesize($source);

    if($src_width >= $src_height)
         {
          $new_image_width = $img_width;
          $new_image_height = $src_height * $img_width / $src_width;
         }
        if($src_width < $src_height)
         {
          $new_image_height = $img_width;
          $new_image_width = $src_width * $img_height / $src_height;
         }

    echo $new_image_height;
       echo $new_image_width;

    $new_image = imagecreatetruecolor($new_image_width, $new_image_height);
       imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_image_width,$new_image_height, $src_width, $src_height);
       imagejpeg($new_image, $dest, 100);
      }