当前位置:首页 > PHP教程 > php图像处理 > 列表

php图片裁剪函数

发布:smiling 来源: PHP粉丝网  添加日期:2021-11-01 14:29:15 浏览: 评论:0 

这篇文章主要为大家详细介绍了php图片裁剪函数,图片裁剪工具,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

本文实例为大家分享了php图片裁剪函数的具体代码,供大家参考,具体内容如下:

  1. /* 
  2.  * 图片裁剪工具 
  3.  * 将指定文件裁剪成正方形 
  4.  * 以中心为起始向四周裁剪 
  5.  * @param $src_path string 源文件地址 
  6.  * @param $des_path string 保存文件地址 
  7.  * @param $des_w double 目标图片宽度 
  8.  * */ 
  9. function img_cut_square($src_path,$des_path,$des_w=100){ 
  10.   $img_info = getimagesize($src_path);//获取原图像尺寸信息 
  11.   $img_width = $img_info[0];//原图宽度 
  12.   $img_height = $img_info[1];//原图高度 
  13.   $img_type = $img_info[2];//图片类型 1 为 GIF 格式、 2 为 JPEG/JPG 格式、3 为 PNG 格式 
  14.   if($img_type != 2 && $img_type != 3) return ; 
  15.  
  16.   /*计算缩放尺寸*/ 
  17.   if($img_height > $img_width){ 
  18.     $scale_width = $des_w;//缩放宽度 
  19.     $scale_height = round($des_w / $img_width * $img_height);//缩放高度 
  20.  
  21.     $src_y = round(($scale_height - $des_w)/2); 
  22.     $src_x = 0; 
  23.   }else
  24.     $scale_height = $des_w
  25.     $scale_width = round($des_w / $img_height * $img_width); 
  26.  
  27.     $src_y = 0; 
  28.     $src_x = round(($scale_width - $des_w)/2); 
  29.   } 
  30.  
  31.   $dst_ims = imagecreatetruecolor($scale_width$scale_height);//创建真彩画布 
  32.   $white = imagecolorallocate($dst_ims, 255, 255, 255); 
  33.   imagefill($dst_ims, 0, 0, $white); 
  34.   if($img_type == 2){ 
  35.     $src_im = @imagecreatefromjpeg($src_path);//读取原图像 
  36.   }else if($img_type == 3){ 
  37.     $src_im = @imagecreatefrompng($src_path);//读取原图像 
  38.   } 
  39.  
  40.   imagecopyresized($dst_ims$src_im, 0, 0 ,0, 0 , $scale_width , $scale_height , $img_width,$img_height);//缩放图片到指定尺寸 
  41.  
  42.  
  43.   $dst_im = imagecreatetruecolor($des_w$des_w); 
  44. //  $white = imagecolorallocate($dst_im, 255, 255, 255); 
  45. //  imagefill($dst_im, 0, 0, $white); 
  46.   imagecopy($dst_im$dst_ims, 0, 0, $src_x$src_y$des_w$des_w);//开始裁剪图片为正方形 
  47. // imagecopyresampled($dst_im, $src_im, $src_x, $src_y, 0, 0, $real_width, $real_width,$img_width,$img_height); 
  48.   if($img_type == 2) { 
  49.     imagejpeg($dst_im$des_path);//保存到文件 
  50.   }else if($img_type == 3){ 
  51.     imagepng($dst_im,$des_path); 
  52.   } 
  53. //  imagejpeg($dst_im);//输出到浏览器 
  54.   imagedestroy($dst_im); 
  55.   imagedestroy($dst_ims); 
  56.   imagedestroy($src_im); 
  57. }

Tags: php图片裁剪函数

分享到: