PHP制作缩略图(裁剪图片)

PHP制作缩略(裁剪)图片核心实现步骤:

//要裁剪的对象
$imgpath = './img/1.jpg';
$img = imagecreatefromjpeg($imgpath);
list($oldWidth,$oldHeight) = getimagesize($imgpath); //类似与ES6的解构赋值

//随机0.1~1倍数
$arr = array(0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1);
$scale = $arr[rand(0,10)];

$newWidth = ceil($scale*$oldWidth);
$newHeight = ceil($scale*$oldHeight);

//裁剪完要生成的对象
$image = imagecreatetruecolor($newWidth,$newHeight);

//生成缩略图片
imagecopyresampled($image,$img,0,0,0,0,$newWidth,$newHeight,$oldWidth,$oldHeight);

//渲染导出缩略图片
$str = md5(uniqid(microtime(true),true)).'.jpg';
imagejpeg($image,$str);
imagedestroy($image);

核心方法: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:原图要载入的高度


猜你喜欢

转载自blog.csdn.net/wu5229485/article/details/79826645