php裁切图片方法示例
php裁剪图片指定区域代码示例
原图图片:
其中虚线框中是我们需要裁切保存的图片。
- $src = 'www.fity.cn.jpg';
- //创建源图的实例
- $file = imagecreatefromstring(file_get_contents($src));
- //裁剪开区域左上角的点的坐标
- $x = 90;
- $y = 40;
- //裁剪区域的宽和高
- $width = 180;
- $height = 110;
- //最终保存成图片的宽和高,和源要等比例,否则会变形
- $final_width = 120;
- $final_height = round($final_width * $height / $width);
- //将裁剪区域复制到新图片上,并根据源和目标的宽高进行缩放或者拉升
- $new_image = imagecreatetruecolor($final_width, $final_height);
- imagecopyresampled($new_image, $file, 0, 0, $x, $y, $final_width, $final_height, $width, $height);
- //输出图片
- header('Content-Type: image/jpeg');
- imagejpeg($new_image);
- imagedestroy($file);
- imagedestroy($new_image);
输出图片:
PS:
1.关于函数imagecopyresampled说明:
- bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )
- $dst_image:新建的图片
- $src_image:需要载入的图片
- $dst_x:设定需要载入的图片在新图中的x坐标
- $dst_y:设定需要载入的图片在新图中的y坐标
- $src_x:设定载入图片要载入的区域x坐标
- $src_y:设定载入图片要载入的区域y坐标
- $dst_w:设定载入的原图的宽度(在此设置缩放)
- $dst_h:设定载入的原图的高度(在此设置缩放)
- $src_w:原图要载入的宽度
- $src_h:原图要载入的高度
2.如果坐标为(0,0),裁剪区域的宽高和源图的宽高一致,那么就是生成缩略图的功能了。
3.这里后端PHP裁切,如果是前端裁切推荐:imageAreaSelect、Cropper,兼容性不错。
本文作者:未来往事
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
此处评论已关闭