Perl Monk, Perl Meditation PerlMonks

### Re: allocating/deallocating colors with GD module.

by BrowserUk (Pope)
 on Jun 24, 2013 at 21:13 UTC ( #1040492=note: print w/replies, xml ) Need Help??

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, @_ }
[download]

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.

Log In?
 Username: Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1040492]
help
Chatterbox?
 [Corion]: Do you want to launch a script and keep the command prompt/console window open? [Corion]: Do you want to wait for a key press before closing the window? [LanX]: I want the command line in the history [tye]: -Mouse [Corion]: Option a) would mean launching cmd.exe /k c:\path\to\ batchfile- launching-perl- script.cmd. Option b) would be to add pause as the last line of said batch file. [LanX]: First day after holidays ... and already stressed by the fact that colleagues changed stuff without communication ... apparently I'm the only one trying to fight entropy [Corion]: LanX: The command is always in the history if you typed it in before. If you didn't type the command into the command line, it will not be there. I think there is doskey which can stuff command lines into the history LanX damns the cult of CB ;-) LanX WTF WTF WTF [LanX]: please forget my last 3 posts

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (13)
As of 2017-03-27 15:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
Should Pluto Get Its Planethood Back?

Results (320 votes). Check out past polls.