我的客户正在尝试使用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);
任何帮助都会受到赞赏,因为我所知道的代码或服务器上没有任何改变,突然停止生成正确的黑色文本。
您可以在此处看到生成的文字:
黑色文字是背景图片的一部分,灰色文字由上面的代码生成。
答案 0 :(得分:0)
编辑:来自以下评论
啊,好的。如果你只是分别重新创建几行代码,你还会得到灰色文本吗?因为我的代码带有黑色文本。如果你尝试不同的字体或不同的基本图像只是为了消除它们作为罪魁祸首呢?你验证了$ text的价值是多少?
原文答案:
这里有些不对劲。您的“x”和“y”坐标大于背景图像,因此您生成的文本不在图像画布中。
您的背景图片是否有可能已经包含灰色文本,并且您生成的文本是否发生在图像之外?