首页 » PHP笔记 » thinkphp如何从gif提取第一帧生成静态缩略图

thinkphp如何从gif提取第一帧生成静态缩略图

高蒙 2018/05/24 09:31 1.8k浏览 0评论 Thinkphp


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





相关文章

我有话说

站长昵称:(*)

输入内容:

选个头像:

评论列表

    ...

    高蒙

    男, PHP程序猿

    文章

    484

    标签

    41

    热度

    10w+

    南京, 江苏, 中国

    人生要是没有理想, 那跟咸鱼有什么分别。