Jump to content


Photo

Resize Images on the fly


  • Please log in to reply
1 reply to this topic

#1 DieSucker

DieSucker
  • Members
  • PipPip
  • Member
  • 22 posts

Posted 29 July 2006 - 01:16 AM

So I have this code for resizing images I have in a directory to another directory
and resizing the images to 68x68. Only problem is the resizing is killing the image quality
SO my quetsion is how I can I up hte image quality??
<?
$new_w = 68;
$cfg_fullsizepics_path = "./";
$cfg_thumb_path = "thumb";
$filepath = "./";
$dir = dir($filepath); 
while($entry=$dir->read()) { 
    if($entry == "." || $entry == "..") { 
        continue; 
    } 
    $fp = @fopen("$filepath/$entry","r");
 $photo_filename = "$entry";
$image_stats = GetImageSize($cfg_fullsizepics_path."/".$entry);
$imagewidth = $image_stats[0];
$imageheight = $image_stats[1];
$img_type = $image_stats[2];
$ratio = ($imagewidth / $new_w);
$new_h = round($imageheight / $ratio);
if (!file_exists($cfg_thumb_path."/".$entry))  {
 if ($img_type=="2") {
 $src_img = imagecreatefromjpeg($cfg_fullsizepics_path."/".$entry);
 $dst_img = imagecreate($new_w,$new_h);
imagecopyresized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,imagesx($src_img),imagesy($src_img));
imagejpeg($dst_img, "$cfg_thumb_path"."/$entry");
 } elseif  ($img_type=="3") {
 $dst_img=ImageCreate($new_w,$new_h);
 $src_img=ImageCreateFrompng($cfg_fullsizepics_path."/".$entry);
ImageCopyResized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,ImageSX($src_img),ImageSY($src_img));
 Imagepng($dst_img, "$cfg_thumb_path"."/$entry");
 } elseif  ($img_type=="1") {
 $cfg_thumb_url=$cfg_fullsizepics_url;
 }
}
  echo "$entry";
  echo "
";
  }
?>


#2 michaellunsford

michaellunsford
  • Members
  • PipPipPip
  • Advanced Member
  • 1,023 posts
  • LocationLouisiana, USA

Posted 29 July 2006 - 03:09 AM

imagecopyresampled should get you better results




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users