How to get duration of gif image in JavaScript(如何在JAVASCRIPT中获取gif图像时长)
本文介绍了如何在JAVASCRIPT中获取gif图像时长的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我只尝试显示gif一次。 因此,我使用此代码来实现这一点。
var ui_img = document.getElementById("ui_image");
ui_img.hidden = false;
setTimeout(function () {
ui_img.hidden = true;
}, 8000);
但我知道所有的gif都有不同的期限。 我如何解决此问题?
推荐答案
您可以尝试使用此库gifuct-js。
主要使用parseGIF(),然后使用decompressFrames()来获取帧的数组,每个帧都具有delay属性:显示帧的时间量。因此,您可以将所有帧延迟相加,以获得GIF图像的总持续时间。
用法示例-从Github页面修改代码示例:
import { parseGIF, decompressFrames } from 'gifuct-js'
var oReq = new XMLHttpRequest();
oReq.open("GET", gifURL, true);
oReq.responseType = "arraybuffer";
oReq.onload = function (oEvent) {
var arrayBuffer = oReq.response; // Note: not oReq.responseText
if (arrayBuffer) {
var gif = parseGIF(arrayBuffer);
var frames = decompressFrames(gif, true);
// do something with the frame data
// get total time in ms
var totalTime = frames
.map(frame => frame.delay)
.reduce((a, b) => a + b);
}
};
oReq.send(null);
这篇关于如何在JAVASCRIPT中获取gif图像时长的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
编程基础网
本文标题为:如何在JAVASCRIPT中获取gif图像时长
基础教程推荐
猜你喜欢
- 最佳动态 JavaScript/JQuery 网格 2022-01-01
- 在 Javascript 中使用 Fetch API 上传文件并显示进度 2022-01-01
- HTML5 画布调整为父级 2022-01-01
- 带角度的选项卡:仅使用 $http 在单击时加载选项卡 2022-01-01
- 逻辑运算符 ||在 javascript 中,0 代表 Boolean false? 2022-01-01
- 从快速中间件中排除路由 2022-01-01
- 使用 jQuery 在悬停时交换 DIV 类 2022-01-01
- 即使每次插入第一个输入的值不同,第二个输入仍显示相同的输入值 2022-01-01
- 当木偶师打开Chrome时,不能使用Chrome扩展 2022-01-01
- CORS:当凭据标志为真时,无法在 Access-Control-Allow-Origin 中使用通配符 2022-01-01
