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


in reply to allocating/deallocating colors with GD module.

First, it seems a little weird to reallocate $white to some other color; and especially weird that neither of them are actually white.

Secondly, if you deallocate a color, you remove it from the images color table, which means any pixels drawn in that color would now be displayed in whatever new color you allocate to that entry, which is going to produce weird results.

If you insist on using paletted images, you should chose all your colors, allocate them to different variables and then use them. Not reallocate or deallocate them.

But paletted images are just a pain in the butt and relics of a bygone era. You'd be much better off using TrueColor (24-bits per perl) images, then you can forget about allocating colors completely and just use the rgb value converted to a suitable integer. I use the following simple function for this:

sub rgb2n { unpack 'N', pack 'CCCC', 0, @_ }

See ColorRamp1785 for usage.


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

Replies are listed 'Best First'.
Re^2: allocating/deallocating colors with GD module.
by Anonymous Monk on Jun 25, 2013 at 07:41 UTC

    Thank you for your explanation. Best regards.