Man Linux: Main Page and Category List

NAME

       Prima::Image::AnimateGIF - animate gif files

DESCRIPTION

       The module provides high-level access to GIF animation sequences.

SYNOPSIS

               use Prima qw(Application Image::AnimateGIF);
               my $x = Prima::Image::AnimateGIF->load($ARGV[0]);
               die $@ unless $x;
               my ( $X, $Y) = ( 0, 100);
               my $background = $::application-> get_image( $X, $Y, $x-> size);
               $::application-> begin_paint;

               while ( my $info = $x-> next) {
                       my $frame = $background-> dup;
                       $frame-> begin_paint;
                       $x-> draw( $frame, 0, 0);
                       $::application-> put_image( $X, $Y, $frame);

                       $::application-> sync;
                       select(undef, undef, undef, $info-> {delay});
               }

               $::application-> put_image( $X, $Y, $g);

   new $CLASS, %OPTIONS
       Creates an empty animation container. If $OPTIONS{images} is given, it
       is expected to be an array of images, best if loaded from gif files
       with "loadExtras" and "iconUnmask" parameters set ( see
       Prima::image-load for details).

   load $SOURCE, %OPTIONS
       Loads GIF animation sequence from file or stream $SOURCE. Options are
       the same as understood by "Prima::Image::load", and are passed down to
       it.

   add $IMAGE
       Appends an image frame to the container.

   bgColor
       Return the background color specified by the GIF sequence as the
       preferred background color to use when there is no specific background
       to superimpose the animation to.

   current
       Return index of the current frame

   draw $CANVAS, $X, $Y
       Draws the current composite frame on $CANVAS at the given coordinates.

   height
       Returns height of the composite frame.

   icon
       Creates and returns an icon object off the current composite frame.

   image
       Creates and returns an image object off the current composite frame.
       The transparent pixels on the image are replaced with the preferred
       background color.

   is_stopped
       Returns true if the animation sequence was stopped, false otherwise.
       If the sequence was stopped, the only way to restart it is to call
       "reset".

   length
       Returns total animation length (without repeats) in seconds.

   loopCount [ INTEGER ]
       Sets and returns number of loops left, undef for indefinite.

   masks
       Return the AND and XOR masks, that can be used to display the current
       composite frame.

   next
       Advances one animation frame. The step triggers changes to the
       internally kept AND and XOR masks that create effect of transparency,
       if needed.  The method return a hash, where the following field are
       initialized:

       left, bottom, right, top
           Coordinates of the changed area since the last frame was updated.

       delay
           Time ins seconds how long the frame is expected to be displayed.

   reset
       Resets the animation sequence. This call is necessary either when image
       sequence was altered, or when sequence display restart is needed.

   size
       Returns width and height of the composite frame.

   total
       Return number fo frames

   width
       Returns width of the composite frame.

SEE ALSO

       Prima::image-load, <http://www.the-labs.com/GIFMerge/ >

AUTHOR

       Dmitry Karasik, <dmitry@karasik.eu.org>.