http://www.perlmonks.org?node_id=1067413

Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Hi. I'm trying to make an animated gif, but it's not working,allthough there is no error. I copied this example:

use GD::Image::AnimatedGif; use strict; use warnings; # setup the image my $image = GD::Image->new(42,21); my $white = $image->colorAllocate(255,255,255); $image->transparent($white); # setup some font goodies my $fontcolor = $image->colorAllocate(0,0,0); my $font = GD::Font->Small(); # setup some settings into variables my $loop = 0; my $speed = 42; # 1/100 of a sec my $x_font = 10; # from right (x or y ??) my $y_font = 2; # from top (x or $y ??) my @arr = qw/foo bar/; print "Content-type: image/gif\n\n"; print $image->animated_gif($loop,$font,$fontcolor,$speed,$x_font,$ +y_font,\@arr);

Does someone know why this doesn't work? Thank you

Replies are listed 'Best First'.
Re: GD::Image::Animated gif.
by soonix (Canon) on Dec 17, 2013 at 11:27 UTC

    This is the example more or less directly from GD::Image::AnimatedGif. However, this is for a CGI environment. If that is not what you want, first step should be to change output to a file, of course, without the Content-Type specification, and binmode is needed, anyway, at least in my environment (Strawberry 5.16.2 on Windows 7)

      You are right, I dropped the Content-Type print statement and now it works. Thank you.

Re: GD::Image::Animated gif. (binmode)
by Anonymous Monk on Dec 17, 2013 at 03:56 UTC

      Still not working. I changed it to:

      use GD::Image::AnimatedGif; use strict; use warnings; # setup the image my $image = GD::Image->new(400,400); my $white = $image->colorAllocate(255,255,255); $image->transparent($white); # setup some font goodies my $fontcolor = $image->colorAllocate(0,0,0); my $font = GD::Font->Small(); # setup some settings into variables my $loop = 0; my $speed = 42; # 1/100 of a sec my $x_font = 30; # from right (x or y ??) my $y_font = 32; # from top (x or $y ??) my @arr = qw/foo bar a b c d/; binmode STDOUT; print "Content-type: image/gif\n\n"; print $image->animated_gif($loop,$font,$fontcolor,$speed,$x_font,$ +y_font,\@arr);