GIF动画的总持续时间

4

目前,我们使用秒表来确定gif横幅动画的总持续时间。

已经参考了ImageMagick方案 - 如何以毫秒为单位确定gif动画的长度

示例gif横幅: http://i.stack.imgur.com/JTz79.gif


实际统计数据:

迭代次数=20

帧1持续时间=0.5秒

帧2持续时间=0.5秒

总时间=20*(0.5+0.5)=20秒


ImageMagick提供的统计数据:

使用 - identify -verbose betsy.gif | grep -E 'Iterations|Elapsed'

迭代次数:19

经过的时间:0:01.000

经过的时间:0:01.040

总时间=1.040*19=19.76秒


除了使用物理秒表之外,是否有其他编程方式可以精确查找动画的持续时间?


1
我认为你使用的是旧版本的ImageMagick。我使用的是v6.9.3,它可以正确地报告你文件的1秒钟。尝试使用identify -format '%T\n' betsy.gif来获取每个帧的长度(以厘秒为单位)。 - Mark Setchell
1个回答

3

使用Exiftool的方法如下:

$ exiftool splash.gif 
ExifTool Version Number         : 11.76
File Name                       : splash.gif
Directory                       : .
File Size                       : 1062 kB
File Modification Date/Time     : 2020:06:18 10:04:16+02:00
File Access Date/Time           : 2020:06:18 09:51:54+02:00
File Inode Change Date/Time     : 2020:06:18 10:04:16+02:00
File Permissions                : rw-r--r--
File Type                       : GIF
File Type Extension             : gif
MIME Type                       : image/gif
GIF Version                     : 89a
Image Width                     : 950
Image Height                    : 140
Has Color Map                   : Yes
Color Resolution Depth          : 1
Bits Per Pixel                  : 1
Background Color                : 0
Animation Iterations            : Infinite
Frame Count                     : 149
Duration                        : 4.96 s
Image Size                      : 950x140
Megapixels                      : 0.133

您可以找到以秒为单位的持续时间。


供参考:我使用的是Exiftool 10.80进行测试,但它获取的持续时间不正确。我会在有更高版本时再试一次。 - Ken Sharp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接