php无组件裁剪图片
发布网友
发布时间:2022-04-18 12:43
我来回答
共3个回答
热心网友
时间:2022-04-18 14:12
function cut_img($img,$w,$h){ //要裁减的图片,宽度,高度
$s = imagecreatefromjpeg($img); //这里以jpg图片为例,其他图片要修改这个方法名称,可以上网参考(就是后面那个后缀名不一样)
$w = imagesx($s)<$w?imagesx($s):$w; //如果图片的宽比要求的小,则以原图宽为准
$h = imagesy($s)<$w?imagesy($s):$h;
$bg = imagecreatetruecolor($w,$h); //创建$w*$h的空白图像
if(imagecopy($bg,$s,0,0,0,0,$w,$h)){
if(imagejpeg($bg,"img/new_img.jpg")){ //将生成的图片保存到img/new_img.jpg
echo "success";
}else{
echo "false";
}
}else{
echo "false";
}
/*
*imagecopy ($dst_im,$src_im,$dst_x,$dst_y,$src_x,$src_y,$src_w,$src_h)
将 src_im 图像中坐标从 src_x,src_y 开始,宽度为 src_w,高度为 src_h 的一部分拷贝到 dst_im 图像中坐标为 dst_x 和 dst_y 的位置上。
*/
imagedestroy($s); //关闭图片
imagedestroy($bg);
//这里只写了几个主要操作,你可以再加上开始裁减的坐标,也就是imagecopy中的第5,第6两个参数,那么在判断$w和$h的地方也要相应的剪掉开始没算进去的部分,
//然后保存路径是否存在的判断等
}
cut_img("img/03.jpg",100,100);
热心网友
时间:2022-04-18 15:30
gd库里面的函数
热心网友
时间:2022-04-18 17:05
imagecopyresized和imagecopyresampled参照一下这俩函数