PHP imagettftext 总是绘制黑色

Ube*_*use 4 php gd imagettftext

基本上,当我绘制文本时,它最终会变成黑色,如下所示: https: //i.stack.imgur.com/z675F.png 而不是我在 PHP 和函数中分配的颜色。代码:

    $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);
Run Code Online (Sandbox Code Playgroud)

之前可以用,但后来就停止了,我不知道为什么。那是在我更改源图像之后(生成得很好)并且我没有触及代码。我尝试了各种改变颜色的方法,但我无法让它以黑色以外的任何颜色显示。

Ube*_*use 5

由于我复制的徽标上已经有一些白色文本,因此imagecolorallocate通过更改为修复了此问题:imagecolorclosest

//       imagecolorallocate....
$white = imagecolorclosest($im, 255, 255, 255); 
Run Code Online (Sandbox Code Playgroud)