Your example was a little tricky, because of the white transparency, and black rectangles, it all showed up as black on my screen....BUT I did find your problem. What I noticed was the first file was one third the file size of the subsequent files.

Your problem is the truecolor setting. This isn't obvious, it's just that I've seen the question asked before, and had the answer handy. Just look at it as a recipe.

The truecolor spec is a global in the c library, and should be set the way I've shown below. What was happening in your script, (I think :-) )was the truecolor was only being set after the first run through, thus the first file was different. I said GD can be tricky sometimes. :-) Try this

#!/usr/bin/perl use GD; GD::Image->trueColor(1); $maxx = 600; $maxy = 500; for ($x = 0; $x < 10; $x++) { # create a new image undef $im; $im = new GD::Image($maxx+50,$maxy); # not $im->trueColor(1); # allocate some colors $white = $im->colorAllocate(255,255,255); $black = $im->colorAllocate(0,0,0); # make the background transparent and interlaced $im->transparent($white); $im->interlaced('true'); # Put a black frame around the picture $im->rectangle(0,0,$maxx-1,$maxy-1,$black); $im->line(0, $maxy/2, $maxx, $maxy/2, $black); $png_data = $im->png; my $file = "TestImage". $x.".png"; open(DISPLAY,">$file") || die "open failed"; binmode DISPLAY; print DISPLAY $png_data; close DISPLAY; print "Output file = ".$file."\n"; undef $png_data; undef $im; }

I'm not really a human, but I play one on earth. flash japh

In reply to Re^3: Images created in a loop grow by zentara
in thread Images created in a loop grow by gtm

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.