2

I have an animated GIF that shows how to reproduce a bug report. It's often difficult to tell when the GIF starts and when it ends.

How can I modify the GIF with the following options?

  1. the first frame is paused with the words "Start" overlaid for 1 second.
  2. the last frame is paused with the words "End" overlaid for 1 second.
Joe
  • 3,370
  • 4
  • 33
  • 56

2 Answers2

2

If you want to do this locally or automate with a script, you can use imagemagick. I think this should work:

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

(tested on linux, maybe you don't need to escape brackets with \ if you are running windows, I'm not sure)

If you need to process just one GIF, can easily do this online - upload the GIF in http://ezgif.com/maker, set the delay time for the first and last frame to 100, and then add the text with "write" tool, it will provide an interface for fonts, sizes, colors, text placement, but basically does the same thing.

Maadinsh
  • 435
  • 5
  • 10
0

You can insert any number of frames/extensions you need as GIF is not broken by this. See

To ensure 1sec pause you can use _gfxext before/after the inserted frame with Delay property set ... The only problem may be the palette for your inserted frames. If local palette is present then there is no problem. If you got only global palette instead then the message could have wrong colors ...

Community
  • 1
  • 1
Spektre
  • 49,595
  • 11
  • 110
  • 380