Tk::Animation - Display sequence of Tk::Photo images
use Tk::Animation my $img = $widget->Animation('-format' => 'gif', -file => 'somefile.gif'); $img->add_frame(@images); $img->start_animation; $img->start_animation( $period ); $img->next_image; $img->prev_image; $img->set_image( 0 .. $#frames ); $img->pause_animation; $img->resume_animation( $period ); $img->fast_forward( $multiplier ); $img->fast_reverse( $multiplier ); $img->stop_animation; $img->set_disposal_method( $boolean );
In the simple case when Animation is passed a GIF89 style GIF with multiple 'frames', it will build an internal array of Photo images.
Animation
Photo
The add_frame method adds images to the sequence. It is provided to allow animations to be constructed from separate images. All images must be Photos and should all be the same size.
add_frame
start_animation($period) then initiates a repeat with specified $period to sequence through these images. As for raw repeat $period is in milliseconds, for a 50Hz monitor it should be at least 20ms. If $period is omitted it is determined from the GIF metadata (see below), or if this is not possible it defaults to 100 milliseconds.
start_animation($period)
repeat
stop_animation cancels the repeat and resets the image to the first image in the sequence.
stop_animation
For fine-grained control next_image and prev_image move one frame forward or backward. set_image randomly positions the animation to a particular frame.
next_image
prev_image
set_image
pause_animation pauses the movie and resume_animation continues from the pause point.
pause_animation
resume_animation
fast_forward and fast_reverse speed through the movie either forwards or backwards. $multiplier specifies how much faster the animation moves.
fast_forward
fast_reverse
If Image::Info is installed, then the repeat period time and disposal method of GIF animations are determined from the GIF metadata directly. Otherwise the disposal method must be set manually by using set_disposal_method (1 for blanking the previous images, 0 for leaving the previous images as is). The repeat period time may be given in the start_animation method.
set_disposal_method
start_animation
set_disposal_method was formerly known as blank method, but the naming of this method was a mistake.
blank
If the disposal method is not set correctly, either by set_disposal_method or by determining from the GIF metadata, then the following may happen: By default Animation leaves the previous movie frame in the animation photo. Many times overlaying subsequent frames produces a composite that looks blurred.
This module should not depend on a module which is not declared as a dependency (Image::Info).
The delays between images may vary in a GIF animation. This cannot be handled by this module yet.
The handling of the various disposal methods is not correct.
To install Tk, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Tk
CPAN shell
perl -MCPAN -e shell install Tk
For more information on module installation, please visit the detailed CPAN module installation guide.