WriteAnimFrame -- append frame to sequential anim (V4.5)
WriteAnimFrame(id, brush_id[, table])
This function can be used to append a single new frame to a sequential animation object created with BeginAnimStream(). The frame that shall be appended to the animation must be provided as a brush. Ideally, the brush's size should match the dimensions specified in BeginAnimStream() but this function will do automatic padding if the sizes do not match.

The optional table argument allows you to configure further parameters:

X, Y:
These two allow you to configure the position at which the brush shall be copied in the frame. This is useful when adding a frame that is smaller than the anim bounding box. You could for example center this frame in the anim then. Defaults to 0,0 which means top left corner.

Set this field if you want to attach a time delay to this frame. The time must be specified in milliseconds. Not all anim formats support frame delays. See the table below. Defaults to 0 which means no delay.

Set to True to enable dithering. This field is only handled when the destination format is palette-based. GIF ANIMs always use a color palette. Defaults to False which means no dithering.

Specifies how many colors the animation shall use. Again, this is only handled for palette-based formats. Valid values are between 1 and 256. Defaults to 256.

Specifies whether or not Hollywood shall try to optimize this frame. Optimized saving is slower but usually leads to smaller animations. Defaults to True.

RGB color that shall be made transparent in this frame or #NOTRANSPARENCY for no transparency. This is only available for anim formats that supported transparency. Please note that you must not mix transparent and opaque frames in a single animation. Either all of your frames must use transparency, or all of your frames must be opaque. Defaults to #NOTRANSPARENCY.

Here is a table that shows an overview which table elements can be used with the different animation formats:

identifier of the animation object to append to; must be obtained using BeginAnimStream()
identifier of brush to append to animation
optional: further arguments for save operation; see above
See BeginAnimStream

Show TOC