原理:就是将大图缩小并另存为小图

以此图为例,使其生成缩略图!

首先要使用到以下函数

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);

PHP生成缩略图(1)--简单缩略图的更多相关文章

  1. 帝国cms教程:帝国cms在列表页使用sys_ResizeImg函数自动生成不同大小的缩略图

    先说说 ecms7.0的sys_ResizeImg这个函数 下面是在列表页使用方法 在右侧把使用程序代码打勾! 如下图: 例如你原先的列表页循环内容代码为: <li><img src ...

  2. 转: nginx使用image_filter生成缩略图 -- fasdfs海量图片缩略图整合

      转: nginx使用image_filter生成缩略图 -- fasdfs海量图片缩略图整合 http://blog.csdn.net/CleverCode/article/details/522 ...

  3. wordpress4.4+版本自动生成一个768w像素缩略图的解决办法

    4.4版本以后,wordpress增加了响应式图片的功能,目的是让图片能适应手机.平板等不同屏幕,但是我不想要这个功能,把缩略图大小全调成0,function.php里的相关函数全删除了, 上传图片还 ...

  4. 在RPA中使用Python批量生成指定尺寸的缩略图!比Ps好用!

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 htt ...

  5. 快速生成网络mp4视频缩略图技术

    背景 由于网络原因,在下载视频之前我们往往会希望能够先生成一些视频的缩略图,大致浏览视频内容,再确定是否应花时间下载.如何能够快速得到视频多个帧的缩略图的同时尽量少的下载视频的内容,是一个值得研究的问 ...

  6. 如何获取图片上传OSS后的缩略图 超简单

    OSS是使用通过URL尾部的参数指定图片的缩放大小 图片路径后面拼接如下路径:     ?x-oss-process=image/[处理类型],x_100,y_50[宽高等参数] ?x-oss-pro ...

  7. php中生成透明背景png缩略图程序

    /** *$sourePic:原图路径 * $smallFileName:小图名称 * $width:小图宽 * $heigh:小图高 */function pngthumb($sourePic,$s ...

  8. jqthumb.js缩略图插件-让缩略图正常显示而不变形

    插件介绍 项目中有图片的时候,有的宽大于高,有的宽小于高,尤其在做图片列表的时候,经常发现缩略图会有变形的.我们怎样来解决这一问题呢. 方法一:用photoshop来处理缩略图.小的项目还可以,大的项 ...

  9. 使用hadoop命令rcc生成Record 一个简单的方法来实现自己的定义writable对象

    hadoop 的bin文件夹以下一个rcc命令,网上介绍非常少.看了一下源代码.发现能够用来生成 java和c++的hadoop Record 类代码,比起自己直接实现writable 接口.简单非常 ...

随机推荐

  1. django.db.utils.InternalError: (1050, "Table 'tb_content' already exists")

    在goods应用里面写了tb_content数据表的模型类(不该写在这里的),进行了数据迁移,还导入了数据. 在contents应用里也写了tb_content数据表的模型类(应该写在这里的), 解决 ...

  2. html5聊天案例|趣聊h5|仿微信界面聊天|红包|语音聊天|地图

    之前有开发过一个h5微直播项目,当时里面也用到过聊天模块部分,今天就在之前聊天部分的基础上重新抽离模块,开发了这个h5趣聊项目,功能效果比较类似微信聊天界面.采用html5+css3+Zepto+sw ...

  3. 【kafka】kafka.admin.AdminOperationException: replication factor: 1 larger than available brokers: 0

    https://blog.csdn.net/bigtree_3721/article/details/78442912 I am trying to create topics in Kafka by ...

  4. bug、兼容性、适配问题

    1.input   type=“number” 在火狐上限制长度会有问题: 1.maxlength 不管用 2.正则或js匹配限制长度后,给这个input赋值时候末尾三位(有可能是几位,我遇到的是三位 ...

  5. 一款高效视频播放控件的设计思路(c# WPF版)

    因工作的需要,开发了一款视频播放程序.期间也经历许多曲折,查阅了大量资料,经过了反复测试,终于圆满完成了任务. 我把开发过程中的一些思路.想法写下来,以期对后来者有所帮助. 视频播放的本质 就是连续的 ...

  6. android学习-Toast的延迟时间

    一般显示Toast都是一条语句够了 Toast.makeText(Context context, CharSequence text, int duration) Context是要显示Toast的 ...

  7. LogStash启动报错:<Redis::CommandError: ERR unknown command 'script'>与batch_count 的 配置

    环境条件: 系统版本:centos 6.8 logstash版本:6.3.2 redis版本:2.4 logstash  input配置: input { redis { host => &qu ...

  8. 终于完成了-- github.com/salomon1184/METP

  9. haproxy配置文件详解--转

    原始出处:http://itnihao.blog.51cto.com/1741976/915537 #/usr/local/sbin/haproxy -f /etc/haproxy/haproxy.c ...

  10. 简单canvas刮刮乐

    好久没玩canvas了,随便写点效果玩玩.要开始重新拾起这门牛x的技术了,工作中不一定能用得上,以后说不定就能发挥用处了. <!DOCTYPE html> <html lang=&q ...