在开始和结束时暂停GIF,并使用重叠的文本来指示开始和结束信号

时间:2016-10-27 00:39:33

标签: image image-processing ffmpeg imagemagick gif

我有一个动画GIF,显示如何重现错误报告。通常很难判断GIF何时开始以及何时结束。

如何使用以下选项修改GIF?

  1. 第一帧暂停,单词“Start”覆盖1秒钟。
  2. 最后一帧暂停,单词“End”覆盖1秒钟。

2 个答案:

答案 0 :(得分:2)

如果您想在本地执行此操作或使用脚本自动执行此操作,则可以使用imagemagick。我认为这应该有效:

convert sample.gif -coalesce -gravity center -pointsize 24 -fill dodgerblue -stroke navy \
 \( -clone 0 -set delay 100 -annotate 0 'Start' \) -swap 0  +delete \
 \( -clone -1 -set delay 100 -annotate 0 'END' \) -swap -1 \
-layers OptimizeFrame annotated.gif

(在linux上测试,也许你不需要用\来转义括号,如果你正在运行windows,我不确定)

如果您只需要处理一个GIF,可以轻松在线完成此操作 - 在http://ezgif.com/maker中上传GIF,将第一帧和最后一帧的延迟时间设置为100,然后使用“写入”添加文本工具,它将提供字体,大小,颜色,文本放置的界面,但基本上做同样的事情。

答案 1 :(得分:0)

您可以插入所需的任意数量的框架/扩展程序,因为 GIF 不会因此而损坏。参见

要确保暂停1秒,您可以在插入帧之前/之后使用_gfxext并设置延迟属性...唯一的问题可能是插入帧的调色板。如果存在本地调色板,则没有问题。如果你只有全局调色板,那么消息可能有错误的颜色...