Font color in jpeg image (nearly) always orange

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
I am trying to run a basic script that displays an existing jpeg image
and writes some text over it. Sounds simple, but I cannot seem to be
able to colour the font correctly. In the example below it should be
black but it comes out orange. In fact, even if I change the colour to
0, 0, 255 it's orange.

I've read in the PHP documentation (the user contributed notes) that
there are issues with jpeg font colouring. But I've not seen any
details. Can anyone shed light on this for me please?

The example code below is called as a function. The $image variable is
a path to the existing image file and the $ttf variable is a path to a
TrueType font. The $text variable contains a text string.

header("Content-type: image/jpeg");
$base_image = imagecreatefromjpeg($image);
$font = $ttf;
$fontcolor = imagecolorallocate($base_image, 0, 0, 0);
imagettftext($base_image, 18, 0, 10, 100, $fontcolor, $font, $text);
imagejpeg($base_image); imagedestroy($base_image);


Re: Font color in jpeg image (nearly) always orange wrote:
Quoted text here. Click to load it

In case anyone with similar problems reads this thread I should point
out that I now believe the failure of the above script to be due to a
bug in an earlier-than-current version of PHP/GD. I am using PHP 4.4,
GD 2.0.26.

It seems that I'm not the only one to get a yellow/orange font (or
nothing, depending on what you set the font colour to) when using
imagettftext and imagecreatefromjpeg (or imagecreatetruecolor). I've
done a work-around involving merging images, but it's not perfect. I
guess the real answer is to upgrade.


Site Timeline