基本上当我绘制文本它结束了黑色这样的:http://i.stack.imgur.com/z675F.png 而是我在PHP和功能分配的颜色。 代码:PHP imagettftext总是绘制黑色
$finalImage = imagecreatefrompng($imageFile);
$logo = imagecreatefrompng($logoImage);
imagecopy($finalImage, $logo, $logoPosition['x'], $logoPosition['y'], 0, 0, imagesx($logo), imagesy($logo));
$font = "arial.ttf";
$fontSize = 10;
$yOffSet = 15;
$white = imagecolorallocate($finalImage, 255, 255, 255);
foreach($pixelArray as $key => $x) {
foreach($valueArray[$key] as $valueText) {
imagettftext($finalImage, $fontSize, 0, $x, $yOffSet, $white, $font, $valueText);
$yOffSet += 15;
}
$yOffSet = 15;
}
if($miscText != null) {
foreach($miscText as $key => $text) {
imagettftext($finalImage, $fontSize, 0, $text['x'], $text['y'], $white, $font, $text['text']);
}
}
imagepng($finalImage,$saveFileName.".png");
imagedestroy($finalImage);
这是工作之前,但当时它只是停止,我不知道为什么。这是在我更改源图像(生成正常)后,我没有触及代码。我尝试了各种改变颜色的东西,但我无法让它显示在黑色以外的任何东西上。
我曾尝试使用0xFFFFFF,它只是停止从完全显示的文本。我没有想到检查分配限制,所以我会检查。我也很确定这不是图像,我试图再次将背景涂成黑色,并且仍然存在问题。好的,是的,它没有分配。我给包含白色文字的图像写了一个标志,显示正确。有什么方法可以使用这种白色? – UberMouse 2010-12-20 14:15:22
如果调色板的完整,并没有包含一个纯白色的,那么你就必须'imagecolordeallocate()'(删除)现有的颜色之一,以腾出纯白色的插槽。 – 2010-12-20 14:39:10