在GIF的开始和结束处暂停,用覆盖的文本表示开始和结束



我有一个动画GIF,展示了如何重现bug报告。通常很难判断GIF何时开始,何时结束。

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

  1. 第一帧被暂停,单词"开始"覆盖1秒。
  2. 最后一帧暂停,"结束"覆盖1秒。

如果您希望在本地完成此操作或使用脚本自动完成此操作,您可以使用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,可以很容易地在网上做到这一点-上传GIF在http://ezgif.com/maker,设置第一帧和最后一帧的延迟时间为100,然后添加文字的"写"工具,它会提供一个界面的字体,大小,颜色,文字的位置,但基本上做同样的事情。

您可以插入任意数量的帧/扩展,因为GIF不会因此而中断。看到

  • 如何找到图像块在哪里开始在GIF图像?

    1. 渲染开始和结束消息帧并将展台保存为静态GIF
    2. 从GIF中提取LZW图像(删除标题和扩展块)
    3. 写一个脚本,将你的帧作为目标GIF的第一帧和最后一帧

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

最新更新