php获取视频第一帧生成gif,thinkphp如何从gif提取第一帧生成静态缩略图

在ThinkPHP项目中,为了优化客户端加载速度,可以修改Gd.class.php文件,将动态GIF在展示时转换为静态缩略图。通过替换原有代码,使用imagecreatefromstring方法在用户点击时才加载动态图,实现了gif第一帧转静态图的功能。这一改动提高了页面加载效率。
摘要由CSDN通过智能技术生成

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值