Yeah, it sounds like a color table problem. You probably are in a 256-size 8-bit-palette color-space and are trying to allocate 1000 unique colors. GD by default creates palette-based images. You need to either
  1. create a TrueColor (24-bit RGB color) image, which requires a newer libgd and GD.pm. See GD.pm home manual under new(), trueColor() and newTrueColor() and search for palette.
  2. or use colorResolve and colorClosest to map your 1000 objects into the 256 available palette slotes. Rather than use colorAllocation, I use colorResolve(@rgb)||colorClosest(@rgb) in my mk_color() utility function. Just don't let the table fill with 256 shades of brick red first.
The prior-comment about eval'ing trueColor to catch failure to make portable scripts take advantage of new features is right on target for your problem. (It's also a generalizable strategy for compatibility and extension for other modules and features, too.)

Good luck, enjoy -- I'm having fun with GD, hope you will too.

Bill n1vux
I had a .sig when they wasted usenet bandwidth, now I make it up as I go along.

In reply to Re: Allocating colors with GD by Anonymous Monk
in thread Allocating colors with GD by Evanovich

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.