愿所有的美好和期待都能如约而至

如何在JAVASCRIPT中获取gif图像时长

发布时间:  来源:互联网  作者:匿名  标签:error How to get duration of gif image in JavaScript exception gif image IT资讯 ja  热度:37.5℃

本文介绍了如何在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图像时长的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,

勇敢去编程!

勇敢的热爱编程,未来的你一定会大放异彩,未来的生活一定会因编程更好!

TOP