Gif animationsGif animation is a GIF image file containing sequence of images. Every such image is called frame. Viewer application (for example, Internet Explorer) shows frames sequentially one after other. In the difference of standard video animation dealing with frames-per-second animation, speed value, a gif animation has delay value for every frame, i.e. how much time that frame will being shown. After that amount of time the next frame from animation sequence will be shown.
Every frame in animation has own delay time. Delay time is measured in hundredths of second. For example, frame having delay time 100 should be shown during 1 second.
GIF animation, like static GIF image, can have transparent areas (commonly, transparent pixels). Any pixel can be either fully transparent or fully opaque: GIF does not support semitransparency. When GIF animation is shown over some background the background is visible through areas with transparent pixels.
ShotGraph.GifAnimator data structureGifAnimator can have several sequences of frames. Every sequence is called track (or animation track) and can contain zero or more images (frames). All frames have equal width and height. When you create a first animation track then you define its width and height (width and height of all frames in this track) and all subsequently created tracks will get the same width and height. Every frame image on a track has its own delay time. Every track has the Loop property defining whether content of that track should be replayed.
Tracks that can be created by client application are named dynamic tracks. Such tracks are designed for source images. When the GifAnimator object has just been created, it doesn't contain dynamic tracks. Your scripts and other applications can add new dymanic tracks. Use the AddTrack or Read methods to create them.
When new track has been created, it is empty (has no any frames) unless track has been created usin the Read method. Use AddFrame, DeleteFrame, Read methods to alter a number of frames in the specified track.
However, GifAnimator always has one static animation track (target track). This track is designed to assemble a new animation from other standard tracks. Use the Join method to compile target animation track from source ones. When target animation track is compiled, then you can use the Play method to write animated gif to a disk file or to binary safearray.
When animation is being assembled from source tracks, GifAnimator gets corresponding frames from source tracks and superposes them. In the most cases frames from second, third etc. tracks have transparent areas.
Typical tasksSee the collection of examples showing some easy reachable effects and code samples.
©2004 Mikhail Tchikalov