PHP生成缩略图(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 )
参数的意义:目标图片资源,原图资源,目标图片开始粘贴的X坐标,目标图片开始粘贴的y坐标,原图上开始复制的x坐标,原图上开始复制的y坐标,目标图的宽,目标图的高,原图的宽,原图的高,共十个参数! 

imagecreatetruecolor()新建一个真彩色图像
resource imagecreatetruecolor ( int $x_size , int $y_size )
参数的意义:画布的尺寸!

分析:确定两个函数的参数

原图

目标图:

 

代码如下:

//创建一个真彩色的图像,支持的颜色数较多
$dst = imagecreatetruecolor(200, 200); //目标图宽高
$src = imagecreatefromjpeg('./03.jpg'); //源图

//设置背景颜色并填充
$bgcolor = imagecolorallocate($dst, 255, 0, 0);
imagefill($dst,0,0,$bgcolor);

$width = imagesx($src);    //源图的宽度
$height = imagesy($src);    //源图的高度

//imagecopyresampled($dst,$src,0,0,600,80,200,200,290,290);    //裁剪

//将大图完整的生成缩略图
//imagecopyresampled($dst,$src,0,0,0,0,200,200,$width,$height);

//缩略图按坐标摆放
imagecopyresampled($dst,$src,10,10,600,80,180,180,290,290);

//输出到浏览器
header('content-type:image/png');
imagepng($dst);

//销毁图片资源
imagedestroy($dst);
imagedestroy($src);

 ?>

结果如下:

裁剪:

imagecopyresampled($dst,$src,0,0,600,80,200,200,290,290); 

将大图完整的生成缩略图:
imagecopyresampled($dst,$src,0,0,0,0,200,200,$width,$height);

缩略图按坐标摆放:
imagecopyresampled($dst,$src,10,10,600,80,180,180,290,290);

 

转载于:https://www.cnblogs.com/zxf100/p/6744012.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值