for some reason PHP’s imagettftext creates a funny looking text when I create the text at an angle.
Below the source code. I can’t post the image ’cause I don’t have enough reputation points but the text looks like parts of the letters are cut off.
Help!!!
$text = 'My Text Is Messed Up!!!';
$font = './fonts/arial.ttf';
$font_size = 20;
$font_multiplier = 0.5;
$x=10;
$y=190;
$angle=45;
$width= ($font_size * $font_multiplier) * strlen($text);
echo $width;
$height=200;
$size = imageTTFBBox($font_size, $angle, $font, $text);
$img = imageCreateTrueColor($width, $height);
imageSaveAlpha($img, true);
ImageAlphaBlending($img, false);
$transparentColor = imagecolorallocatealpha($img, 200, 200, 200, 127);
imagefill($img, 0, 0, $transparentColor);
$white = imagecolorallocate($img, 255, 255, 255);
// Add the text
imagettftext($img, $font_size, $angle, $x, $y, $white, $font, $text);
// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($img, 'welcome-phrase.png');
imagedestroy($img);
EDIT: here’s an example of the output (I changed text colour from white to black to make it visible on the white background – AG):

It seems there is an issue with it rotating each character and leaving a “mask” of sorts that isn’t rotated and then obscures the text around it, causing the issue you are seeing. It is more visible when you turn off the transparent image fill.
A workaround could be to rotate the image instead of the text. You will have to fix your coordinates but something like this seems to work:
Thus the full code would be:
I moved the imageSaveAlpha and ImageAlphaBlending to the bottom to take care of all that after the rotation has taken place. It’s not the best solution but with some tweaking will provide the correct result.