福永网站推广,徽标设计制作,网站初期建设方案,广东网站建设方案报价对于产品类或者图片类网站来讲#xff0c;缩略图是一个很重要的应用。其实说来很简单#xff0c;也就是把大图缩放成一个小图#xff0c;用于图片的列表展现#xff0c;这样能够达到用户快速浏览的目的#xff0c;又能节省带宽。php若是是等比例缩放#xff0c;好比小图是…对于产品类或者图片类网站来讲缩略图是一个很重要的应用。其实说来很简单也就是把大图缩放成一个小图用于图片的列表展现这样能够达到用户快速浏览的目的又能节省带宽。php若是是等比例缩放好比小图是大图的1/2或者1/5之类的比较容易处理。但有时候咱们须要处理大量不一样尺寸的大图让其生成固定宽高度的缩略图。那就须要一种自适应的方式缩放就是大图在缩放的过程当中若是宽度先达到缩略图的宽度那大图多余的高度就被裁剪掉若是高度先达到缩略图的高度那大图多余的宽度就被裁剪掉。这样处理既让缩略图不失真变形又能最大化保留大图内容。函数今天用PHP写了一个缩略图函数能够达到这种自适应的等比例缩放效果。网站/*缩略图函数做者影子超博客www.shadowchao.com邮箱superl3cgmail.com参数说明$w ---------- 缩略图宽度$h ---------- 缩略图高度$dst_path --- 缩略图路径$src_path --- 源图像路径*/function zoom_image($w,$h,$dst_path,$src_path){if(!file_exists($src_path)){die(源图像文件未找到);}list($src_w,$src_h,$src_type)getimagesize($src_path);switch($src_type){case 1:$src_imimagecreatefromgif($src_path);break;case 2:$src_imimagecreatefromjpeg($src_path);break;case 3:$src_imimagecreatefrompng($src_path);break;default:die(不能识别的图像类型);}$dst_imimagecreatetruecolor($w,$h);$scale_w$src_w/$w;$scale_h$src_h/$h;if($scale_w$scale_h){$src_w$scale_h*$w;}else{$src_h$scale_w*$h;}imagecopyresampled($dst_im,$src_im,0,0,0,0,$w,$h,$src_w,$src_h);switch($src_type){case 1:imagegif($dst_im,$dst_path,80);break;case 2:imagejpeg($dst_im,$dst_path,80);break;case 3:imagepng($dst_im,$dst_path,80);break;}imagedestroy($dst_im);imagedestroy($src_im);}?spa函数共有4个参数分别是你想生成的缩略图的宽度、高度、存储的路径以及大图的文件地址(能够是URL地址^_^)code调用方式如zoom_image(100,100,abc_small.jpg,abc_big.jpg)调用无返回直接将处理后的小图存放在指定路径下。blog//生成缩略图(带裁切)图片function thum_img($img,$small_img){get$thumb imagecreatetruecolor(100, 100);博客$bg imagecolorallocate($thumb, 255, 255, 255);产品imagefilledrectangle($thumb, 0, 0, 100, 100, $bg);$i 0;$j1 $j2 190;$imgarr getimagesize($img);if($imgarr[0]$imgarr[1]){$j1 $imgarr[0]/($imgarr[1]/$j2);$i ceil(($j2-$j1)/2);}elseif($imgarr[0]$imgarr[1]){$j2 $imgarr[1]/($imgarr[0]/$j2);}if($imgarr[mime]image/gif){$source imagecreatefromgif($img);}elseif($imgarr[mime]image/jpeg){$source imagecreatefromjpeg($img);}elseif($imgarr[mime]image/png){$source imagecreatefrompng($img);}elseif($imgarr[mime]image/bmp){$source imagecreatefromwbmp($img);}imagecopyresampled($thumb, $source, $i, 0, 0, 0, $j1, $j2, $imgarr[0], $imgarr[1]);return imagejpeg($thumb,$small_img);}