0

我的一个客户正在尝试使用 imagettftext() 在背景图像上放置文本。该代码以前可以正常工作,但突然从显示黑色文本变为显示灰色文本。代码正确设置为黑色,将其更改为任何其他颜色也没有效果。

$im     = imagecreatefrompng("/path/to/background.png");
$text = imagecolorallocate($im, 0, 0, 0);
imagettftext($im, 10, 0,96, 201,$text, "vera", $thiscardnumber);
imagepng($im, "/path/to/new/".$imagefilename.".png");
imagedestroy($im);

任何帮助将不胜感激,因为我知道的代码或服务器上没有任何改变,突然阻止它生成正确的黑色文本。

您可以在此处查看生成的文本:

图片

黑色文本是背景图像的一部分,灰色文本由上面的代码生成。

4

1 回答 1

0

编辑:来自下面的评论

喔好吧。如果你只是单独重新创建几行代码,你还会得到灰色文本吗?因为我的代码是黑色的。如果您尝试不同的字体或不同的基本图像只是为了消除它们作为罪魁祸首呢?您是否验证过 $text 的值是什么?


原始答案:

这里有些不对劲。您的“x”和“y”坐标大于背景图像,因此您生成的文本不在图像画布上。

您的背景图像是否有可能已经包含灰色文本,而您正在生成的文本发生在图像之外?

在此处输入图像描述

于 2014-01-21T18:42:57.240 回答