---
name: "Prima::Image::AnimateGIF"
section: "3"
platform: "linux"
package: "libprima-perl"
version: "1.28-1.3+b3"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/Prima::Image::AnimateGIF"
---

# Prima::Image::AnimateGIF(3)

animate gif files

## 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, "/www.the-labs.com/GIFMerge/ " in http:

## AUTHOR

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