How do I create an animated gif in Python using Wand?
Question: The instructions are simple enough in the [Wand docs](http://docs.wand-
py.org/en/0.4.1/guide/sequence.html) for _reading_ a sequenced image (e.g.
animated gif, icon file, etc.):

    
    
    >>> from wand.image import Image
    >>> with Image(filename='sequence-animation.gif') as image:
    ...     len(image.sequence)
    

...but I'm not sure how to _create_ one.

In Ruby this is easy using **RMagick** , since you have `ImageList`s. (see [my
gist](https://gist.github.com/dguzzo/99bbca3df827df475f768383a1b04102) for an
example.)

I tried creating an `Image` (as the "container") and instantiating each
`SingleImage` with an image path, but I'm pretty sure that's wrong, especially
since the constructor documentation for `SingleImage` doesn't look for use by
the end-user.

I also tried creating a `wand.sequence.Sequence` and going from that angle,
but hit a dead-end as well. I feel very lost.


Answer: The best examples are located in the unit-tests shipped with the code.
[`wand/tests/sequence_test.py`](https://github.com/dahlia/wand/blob/master/tests/sequence_test.py)
for example.

For creating an animated gif with wand, remember to load the image into the
sequence, and then set the additional delay/optimize handling after all frames
are loaded.

    
    
    from wand.image import Image
    
    with Image() as wand:
        # Add new frames into sequance
        with Image(filename='1.png') as one:
            wand.sequence.append(one)
        with Image(filename='2.png') as two:
            wand.sequence.append(two)
        with Image(filename='3.png') as three:
            wand.sequence.append(three)
        # Create progressive delay for each frame
        for cursor in range(3):
            with wand.sequence[cursor] as frame:
                frame.delay = 10 * (cursor + 1)
        # Set layer type
        wand.type = 'optimize'
        wand.save(filename='animated.gif')
    

[![output
animated.gif](https://i.stack.imgur.com/do522.gif)](https://i.stack.imgur.com/do522.gif)

