SitePoint Sponsor

User Tag List

Results 1 to 2 of 2
  1. #1
    SitePoint Enthusiast
    Join Date
    Oct 2007
    Posts
    36
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Crop Image function returns a black square?

    Hey all,

    I've got a PHP script here that's supposed to take an uploaded image file and create a 100 x 100 thumbnail for it and save it in the correct directory (/images/portfolio/thumbs). It's creating the 100 x 100 thumbnail and putting it in the directory, but the thumbnail is just a black square, rather than the actual uploaded picture. Here is my code:

    Code:
    function cropImage($nw, $nh, $source, $stype, $dest) {
    
             $size = getimagesize($source);
             $w = $size[0];
              $h = $size[1];
    
              switch($stype) {
                  case 'gif':
                  $simg = imagecreatefromgif($source);
                  break;
                  case 'jpg':
                  $simg = imagecreatefromjpeg($source);
                  break;
                  case 'png':
                  $simg = imagecreatefrompng($source);
                  break;
              }
    
              $dimg = imagecreatetruecolor($nw, $nh);
              $wm = $w/$nw;
              $hm = $h/$nh;
              $h_height = $nh/2;
              $w_height = $nw/2;
    
              if($w> $h) {
                  $adjusted_width = $w / $hm;
                  $half_width = $adjusted_width / 2;
                  $int_width = $half_width - $w_height;
                  imagecopyresampled($dimg,$simg,-$int_width,0,0,0,$adjusted_width,$nh,$w,$h);
              } elseif(($w <$h) || ($w == $h)) {
                  $adjusted_height = $h / $wm;
                  $half_height = $adjusted_height / 2;
                  $int_height = $half_height - $h_height;
    
                  imagecopyresampled($dimg,$simg,0,-$int_height,0,0,$nw,$adjusted_height,$w,$h);
              } else {
                  imagecopyresampled($dimg,$simg,0,0,0,0,$nw,$nh,$w,$h);
              }
    
              imagejpeg($dimg,$dest,100);
    			header("location: index.php");
    }
    And here is my function call:

    Code:
    cropImage(100,100,$path_to_thumbs_directory . $filename,'jpg','../images/portfolio/thumbs/'. $filename);
    Has anyone else had this problem or know what's going on?

    Thanks.

  2. #2
    SitePoint Enthusiast
    Join Date
    Oct 2007
    Posts
    36
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Nobody?

    Sorry for the bump...


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •