2

我正在使用 ImageMagick 对 GIF 图像做一些事情。

我的步骤之一是identify计算图像中的帧数。
identify通过node-imagemagick(以及后来的gm)调用,如下所示:

identify -format '%T,%w,%h ' test.gif

大多数情况下,我正确地获得了 53 帧的 53 个空格分隔值。
有时我会为同一张 GIF 图像(有 53 帧)获得 47 或 50 帧。

这怎么可能发生?

convert -coalesce -append test.gif other.gif同时在跑,但它不应该触及原始图像,对吧?此外,我检查并发现原始图像很好,即使报告了错误的帧数。

我什至无法始终如一地重现这一点。我在哪里寻找问题?

当我同时运行多个 ImageMagick 进程(在不同的文件上)时,这似乎会发生。

我正在使用 ImageMagick 6.8.7-9 Q16 x86_64 2013-12-11。

有问题的图像:

(但我在其他图像上也遇到过这种情况。)

4

1 回答 1

2

这根本不是 ImageMagick 问题。
我将图像下载到服务器的代码有问题,总是跳过最后五十个字节左右。

这太容易错过了,因为它并没有严重影响 GIF 的质量。

于 2013-12-11T23:58:47.603 回答