ImageMagick 生成的 gif 在 IE8 中不动的解决办法

今天遇到一件奇怪的事情, 用 ImageMagick 生成的 gif 图片在 IE8 中无法播放, 官方的说法是:

The above animation will fail (show only the first two frames) for Windows Internet Explorer version 8. This happens any time a frame attempts to draw an image beyond the bounds of the animation canvas.

大概的意思是第一帧动画超出了范围什么什么的… 英文不好没看懂, 于是乎 Google 了一下, 亲测有效的解决办法是, 在 convert 命令中加一个 resize 参数改变一下长宽就可以了, 不过 这样生成的图片会有点瑕疵

convert -delay 200 -resize 520x520 1.jpg 2.jpg 3.jpg end.gif

这里 resize 的值可以是之前生成的 gif 的长宽值, 也就是说, 没加 resize 之前 生成的图片是 520×520, 加上 -resize 520×520 参数之后, ImageMagick 还是忠实的执行了这句命令, 解决了 IE8 不能播放的问题.

下面两张图片是项目中 加于不加 resize 命令生成图片的演示:

20150512121236_288408
20150514160120_645881

可以看到 加过命令之后 生成的图片 会有一些边框细线, 因为项(lan)目(de)紧(gai)迫(le)这个 bug 就暂时不修复了.

您可能还喜欢...