whats going on with the text color. Could it have something to do with the pallet of the image?
Without having access to the original images I'd guess: probably.
Perhaps the easiest way to avoid the problem would be to ensure that the image files get loaded as 'truecolor' (Ie. full 24-bit colour). You can do that by setting GD::Image->trurColor( 1 ); prior to loading the image. You'd then dump the colorAllocate() call and specify the text color directly using its rgb value. Simply 0 for black:
... ## Set the default to truecolor images. GD::Image->trueColor( 1 ); # create a new image my $im = GD::Image->new( $filename ); if ($size eq "l") { $im->string(gdMediumBoldFont,27,44,"Secure ". GT::Date::date_g +et(), 0 ); } elsif ($size eq "m") { $im->string(gdMediumBoldFont,29,26,"Secure ". GT::Date::date_g +et(), 0 ); } elsif ($size eq "s") { $im->string(gdTinyFont,15,26,"Safe " . GT::Date::date_get() , +0); } binmode STDOUT; print $im->png;
For colors other than black, I use a simple utility sub to convert rgb triples to their integer representation:
sub rgb2n{ unpack 'N', pack 'CCCC', 0, @_ } rgb2n( 255, 0, 0 ); ## Red rgb2n( 0, 255, 0 ); ## Green rgb2n( 0, 0, 255 ); ## Blue
In reply to Re^3: GD + layering text over existing image
by BrowserUk
in thread GD + layering text over existing image
by ultranerds
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |