php如何裁剪图片?php图片剪切代码

发布时间:2019-09-09编辑:脚本学堂
php裁剪图片的一例代码,php剪切图片主要使用gd库的imagecopyresampled方法,多用于用户头像图片的裁剪,需要的朋友参考下。

php如何裁剪图片?

一般用户上传头像时,都会让用户自行裁剪图片。那么php怎么实现这个功能呢?php中裁剪图片主要使用gd库的imagecopyresampled方法。
裁剪前图片:
php裁剪图片区域

其中虚线框内就是要裁剪出来的图片,最终保存成100宽的图片。

代码:
 

复制代码 代码示例:
$src_path = '1.jpg'; 
//创建源图实例 
$src = imagecreatefromstring(file_get_contents($src_path)); 
  
//裁剪开区域左上角的点的坐标 
$x = 100; 
$y = 12; 
//裁剪区域的宽和高 
$width = 200; 
$height = 200; 
//最终保存成图片的宽和高,和源要等比例,否则会变形 
$final_width = 100; 
$final_height = round($final_width * $height / $width); 
  
//将裁剪区域复制到新图片上,并根据源和目标的宽高进行缩放或者拉升 
$new_image = imagecreatetruecolor($final_width, $final_height); 
imagecopyresampled($new_image, $src, 0, 0, $x, $y, $final_width, $final_height, $width, $height); 
  
//输出图片 
header('Content-Type: image/jpeg'); 
imagejpeg($new_image); 
  
imagedestroy($src); 
imagedestroy($new_image); 
 

裁剪后图片:
裁剪后的图片

其实如果坐标为(0,0),裁剪区域的宽高和源图的宽高一致,那么就是生成缩略图的功能了。

以上只列出了php裁剪图片的例子,属于服务端的功能。
如果客户端有需要,可以使用jquery的插件imageAreaSelect,兼容性好。