在开发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提取第一帧生成静态图的功能了。