Php GD将文本添加到png图像始终跟随图像背景色

Php GD将文本添加到png图像始终跟随图像背景色,php,image,png,gd,Php,Image,Png,Gd,使用gd库向png图像添加文本时,即使我使用imagecolorallocate()设置了颜色,文本也始终跟随图像背景颜色,这是为什么 这是我的代码: <?php header ('Content-Type: image/png'); $im = imagecreatefrompng('picture.png'); $text_color = imagecolorallocate($im, 233, 14, 91); $text = 'A Simple Text String'; $f

使用gd库向png图像添加文本时,即使我使用
imagecolorallocate()
设置了颜色,文本也始终跟随图像背景颜色,这是为什么

这是我的代码:

<?php
header ('Content-Type: image/png');

$im = imagecreatefrompng('picture.png');

$text_color = imagecolorallocate($im, 233, 14, 91);
$text = 'A Simple Text String';
$font_path = './font/arial.ttf';

imagettftext($im, 16, 0, 100, 200, $text_color, $font_path, $text);

imagepng($im);
imagedestroy($im);
?>

如果加载的是8位PNG文件,则调色板中的所有256个条目可能都已分配。对imagecolorallocate()的调用将返回false。它被转换为0,这可能是背景色的索引


您应该做的是调用imagecolorstotal()以查看它是否小于256。如果调色板已满,请在继续之前将图像转换为真彩色。

我认为我的代码没有问题,但图像本身没有问题。我尝试其他人的形象,它的作品完美。有人知道为什么我创建png图像时会出现问题吗?我需要一些建议和建议。谢谢。你能把问题添加到你的问题中吗?我已经按原样运行了您的代码,最后以代码中指定的颜色绘制了文本。@timclutton您的意思是->“Php GD将文本添加到png图像始终跟随图像背景色”?我想PNG已经在这个问题上了。是的,我刚刚尝试了其他png图像,效果非常好。但我不知道为什么我自己创造的形象造成了这个问题。可能是我用错误的方式创建了png图像。T.TI的意思是,你能上传你有问题的图像并将其嵌入你的问题中,以便我们用它进行测试吗。我可以用我的测试映像完美地运行代码,你说它可以用其他映像运行。因此,这肯定是一个问题,确切的图像文件。这可能是一个问题,当图像是索引颜色,而这个背景色不在调色板?是的,谢谢你很多。你解决了我的问题。如果我创建一个更大的PNG,它还会有这个问题吗?