在开发app项目中,为了节省以及加快客户端的加载速度,在展示gif的位置需要提供静态图加载,点击放大才加载实际的动态图片。
那么在thinkphp中如何使用GD库去截取gif第一帧生成静态缩略图,具体看下面实现的方式。
1、修改文件
/ThinkPHP/Library/Think/Image/Driver/Gd.class.php
2.找到方法 大于40行 public function open($imgname)
。
将下面的方法:
if('gif' == $this->info['type'] && $gif_anime){ $class = 'Think\\Image\\Driver\\GIF'; $this->gif = new $class($imgname); $this->img = imagecreatefromstring($this->gif->image()); } else { $fun = "imagecreatefrom{$this->info['type']}"; $this->img = $fun($imgname); }
替换为:
$fun = "imagecreatefrom{$this->info['type']}"; $this->img = $fun($imgname);
文件修改完成保存,前台使用thumb()方法的时候,就可以完成对gif提取第一帧生成静态图的功能了。
友情提示:垃圾评论一律封号...