我正在尝试使用<b>Fatal error</b>: Cannot use object of type stdClass as array in <source filename> on line <linenumber>
编写透明文本,但我不能(使用imagettftext
工作,但无法选择自己的字体和大小)。最终图像应该是带有透明文本的灰色矩形,因此如果我将图像放在新背景上,则背景在文本中可见。
我的代码是:
imagestring
答案 0 :(得分:1)
此处的解决方案应该简单;切换到非混合模式(通过Use Remote Collation
)并添加完全透明色的文本。但是PHP中似乎存在一个错误(在7.0.7中测试,在编写本文时最新),这导致文本呈现为一系列矩形而不是字母。
对此的一个非常快速和简单的解决方法是否定imagealphablending($img, false);
的颜色索引以禁用抗锯齿:
$transparent
但是,如果您希望文本消除锯齿,您可以:
imagettftext($img, $fontSize, 0, $text_posX, $text_posY, -$transparent, $font, 'TEST');
调整图像大小(宽度÷2,高度÷2)以伪造基本的消除锯齿效果。所以,基本上,这个:
imagecopyresampled()