The value for Tk::Animation's -file option has to be a file name, not an image reference.
| [reply] [Watch: Dir/Any] |
If you want to save yourself the hassle of including separate gif files, you can inline them.
#!/usr/bin/perl
use warnings;
use strict;
use Tk;
use Tk::Animation;
my $scr = new MainWindow;
$scr->configure(-background=>"black");
$scr->geometry("200x100");
my $canvas = $scr->Canvas(-width,200,-height,100,
-background=> "black")->pack(-expand, 1, -fill, 'both');
my $image = $scr->Animation('-format' => 'gif', -data => get_gif()
+ );
$canvas->createImage( 50,50, -image=> $image);
$image->blank($image,1);
$image->start_animation(40);
MainLoop;
sub get_gif{
#base64encoded gif89a
my $gif =
'R0lGODlhIAAgAPMAAP////zzBf9kAt0IBvIIhEYApQAA1AKr6h+3FABkEVYsBZBxOsDAw
+ICAgEBA
QAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/h1HaWZCdWlsZGVyIDAuMSBieSBZdmVzIFBpZ3
+VldAAh
+QQECgD/ACwAAAAAIAAgAEMEgxC82SS4OOvNb6sfVT1dyX1AQ6YhuZpwh7agyL5xjoFf5d
+U606x3
CwZrvh1vgjNqesOm8xSdSXXWTXbKSj2iV67y9g2JlcPuuat6tizrHzn+i9Iz4F74uPx6z1
+BEW05I
bn+EQBhMI1xZfXsxVnZrgZN3bCplcGKCKjOALChynImXbDgRACH5BAQKAP8ALAAAAAAgAC
+AAQwSG
sLUHqr04a9uAlFw3baQGfuJYrpv4dNdJndPbUewqV99D4bkgL+VzCUk74sujOupoNg/Quc
+NUnUwp
dIo1KXvd2Cd7pRotvmV4qE0xuWu2pDiPk2vnLmpcFrpgIVJYZWk3ekZKcH5/RHZ7UHZWX4
+ZrfBN9
fkwgcopPgpIeh589nUEykHGnIhEAIfkEBAoA/wAsAAAAACAAIABDBIywtfckeCDrzbu2Uy
+ZNGOad
aAeSDRCmsNiGM2m64zffMbquvF5v19qAgkLOaInD1Cq75OlljEp1LmgTeVU9odSubIXLis
+thSuVy
Rmsl3LYMzTLLlzW7eFLEhpNWGWotcTBHLluFMUdAcjh4TY5KXxaKi0CHe499mVKdfpYemS
+MUbHtE
X3c1jZJ+f44gEQAh+QQECgD/ACwAAAAAIAAgAEMEhhDI1kB7MuvNNbVURWFdaW7iU3np6W
+ZhDJIZ
GT4Y/e6weKkWHY/zuVhmuKEyNFv1gsrOpfiLvqi4mxXFpEK3RR0OKFymsFsXVuVMH2Xcr1
+szrpSX
GN94ftbPQTF+fyxIH3dDXVMtYIBOYVaPcUZRkTc5aWFrfD5og08jbG2YekB/Mh+DZxkRAD
+s=';
return $gif;
}
| [reply] [Watch: Dir/Any] [d/l] |