| 
	
 | 
 Posted by Dimitri Marshall on 07/29/06 21:37 
Ok, I found some code to resize an image (to make it a thumbnail), but I  
cannot figure out how to make that image save the my server. Any ideas? 
 
Thanks! 
 
THE CODE I USED: 
 
<?php 
 
function makeThumbnail($o_file, $t_ht = 100) { 
   $image_info = getImageSize($o_file) ; // see EXIF for faster way 
 
   switch ($image_info['mime']) { 
       case 'image/gif': 
           if (imagetypes() & IMG_GIF)  { // not the same as IMAGETYPE 
               $o_im = imageCreateFromGIF($o_file) ; 
           } else { 
               $ermsg = 'GIF images are not supported<br />'; 
           } 
           break; 
       case 'image/jpeg': 
           if (imagetypes() & IMG_JPG)  { 
               $o_im = imageCreateFromJPEG($o_file) ; 
           } else { 
               $ermsg = 'JPEG images are not supported<br />'; 
           } 
           break; 
       case 'image/png': 
           if (imagetypes() & IMG_PNG)  { 
               $o_im = imageCreateFromPNG($o_file) ; 
           } else { 
               $ermsg = 'PNG images are not supported<br />'; 
           } 
           break; 
       case 'image/wbmp': 
           if (imagetypes() & IMG_WBMP)  { 
               $o_im = imageCreateFromWBMP($o_file) ; 
           } else { 
               $ermsg = 'WBMP images are not supported<br />'; 
           } 
           break; 
       default: 
           $ermsg = $image_info['mime'].' images are not supported<br />'; 
           break; 
   } 
 
   if (!isset($ermsg)) { 
       $o_wd = imagesx($o_im) ; 
       $o_ht = imagesy($o_im) ; 
       // thumbnail width = target * original width / original height 
       $t_wd = round($o_wd * $t_ht / $o_ht) ; 
 
       $t_im = imageCreateTrueColor($t_wd,$t_ht); 
 
       imageCopyResampled($t_im, $o_im, 0, 0, 0, 0, $t_wd, $t_ht, $o_wd,  
$o_ht); 
 
       imageJPEG($t_im); 
 
       imageDestroy($o_im); 
       imageDestroy($t_im); 
   } 
   return isset($ermsg)?$ermsg:NULL; 
} 
?> 
 
Here the code to call the function: 
 
<? 
 
header("Content-type: image/jpeg"); 
makeThumbnail("http://it2.php.net/images/php.gif", 300); 
 
?> 
 
--  
Dimitri Marshall
 
  
Navigation:
[Reply to this message] 
 |