如何从动画 GIF 中获取长度(时间) [英] How to get length (in time) from an animated GIF

查看:129
本文介绍了如何从动画 GIF 中获取长度(时间)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有办法找出完成一个单循环动画 GIF 需要多长时间?

Is there a way to find out how long a single-loop animated GIF will take to finish?

推荐答案

嗯,具体细节取决于你使用什么界面来操作这些动画 GIF(我不知道原生 Java 中的真正巧妙的方式/AWT/Swing),但基本思想是计算(帧率*帧数).

Well, the specifics sorta depends on what interface you're using to manipulate those animated GIFs (I'm not aware of a real slick way in native Java/AWT/Swing), however the basic idea would to calculate (frame rate * number of frames).

如果您正在手动编写 GIF 操作工具,我建议您查看 http://www.onicos.com/staff/iz/formats/gif.html

If you're coding a GIF manipulation tool by hand, I recommend taking a look at http://www.onicos.com/staff/iz/formats/gif.html

希望这至少有一点帮助.

Hope this helps at least a little.

更新:尝试实现 ImageObserver 接口.查看该类中的 ImageObserver.FRAMEBITS 标志以检测帧更新.http://docs.oracle.com/javase/6/docs/api/java/awt/image/ImageObserver.html

Update: Try implement the ImageObserver interface. Take a look at the ImageObserver.FRAMEBITS flag in that class to detect frame updates. http://docs.oracle.com/javase/6/docs/api/java/awt/image/ImageObserver.html

这仍然留下了 gif 有多少帧的问题.您可能想尝试查看 Image.getProperty() 函数.我在查找有关是否存在框架"属性的文档时遇到了一些困难,但请查看.

This still leaves the question of how many frames the gif has. You might want to try taking a look at the Image.getProperty() function. I'm having some difficulty finding documentation as to whether there's a "frame" property, but take a look.

这篇关于如何从动画 GIF 中获取长度(时间)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆