PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PHP imagettftext始终呈黑色大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

基本上,当我绘制文本时,它最终变成黑色:http://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);

它以前工作过,但是后来停了下来,我不知道为什么.就是在我更改了源图像(生成效果很好)之后,我才没有碰过@L_801_12@.我已经尝试过各种更改颜色的方法,但是我无法将其显示为黑色以外的任何其他颜色.

解决方法:

您是否检查过imagecolorallocate()函数是否返回布尔值false(如果分配失败)?如果$finalImage .png为8位,并且纯白色不在源图像的调色板中,则此调用将失败.您确实说您已更改了源图像,所以这很可能是现在已损坏的原因.

$white = imagecolorallocate($finalImage, 255, 255, 255);
if ($white === falSE) { // note the === -> Strict type comparison
    die("Failed to allocate color 255/255/255")
}

函数还将简单地返回代表三色组的数字,在这种情况下,它将为0xFFFFFF.您可以尝试直接将其传递给imagegetttftext()调用,看看是否有帮助.

大佬总结

以上是大佬教程为你收集整理的PHP imagettftext始终呈黑色全部内容,希望文章能够帮你解决PHP imagettftext始终呈黑色所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: