PHP等比缩放图片

 1 <?php
 2      //图片的等比缩放
 3      
 4      //因为PHP只能对资源进行操作,所以要对需要进行缩放的图片进行拷贝,创建为新的资源
 5      $src=imagecreatefromjpeg('a.jpg');
 6      
 7      //取得源图片的宽度和高度
 8      $size_src=getimagesize('a.jpg');
 9      $w=$size_src['0'];
10      $h=$size_src['1'];
11      
12      //指定缩放出来的最大的宽度(也有可能是高度)
13      $max=300;
14      
15      //根据最大值为300,算出另一个边的长度,得到缩放后的图片宽度和高度
16      if($w > $h){
17          $w=$max;
18          $h=$h*($max/$size_src['0']);
19      }else{
20          $h=$max;
21          $w=$w*($max/$size_src['1']);
22      }
23      
24      
25      //声明一个$w宽,$h高的真彩图片资源
26      $image=imagecreatetruecolor($w, $h);
27      
28      
29      //关键函数,参数(目标资源,源,目标资源的开始坐标x,y, 源资源的开始坐标x,y,目标资源的宽高w,h,源资源的宽高w,h)
30      imagecopyresampled($image, $src, 0, 0, 0, 0, $w, $h, $size_src['0'], $size_src['1']);
31      
32      //告诉浏览器以图片形式解析
33      header('content-type:image/png');
34      imagepng($image);
35      
36      //销毁资源
37      imagedestroy($image);
38      
39  ?>

 

posted @ 2013-04-21 16:48  百廢待興中  阅读(113)  评论(0编辑  收藏  举报