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

相关评论(1)
您是不是忘了说点什么?

友情提示:垃圾评论一律封号...