1

我有以下代码,它根据通过表单上传的内容创建基于 mySQL 数据库中的内容的图像

if($bg_img){
        list($img_width, $img_height, $img_type, $img_attr) = getimagesize('./images/'.$bg_img);
    }
    // Use image in background
    $im = imagecreatefrompng(IS_DIR."/images/".$bg_img);

    $fn = rgb2array($font_color);       
    $font_color = imagecolorallocate($im, $fn[0], $fn[1], $fn[2]);

这会创建图像,然后分配字体颜色,然后在代码中添加文本等。一切正常。

不过我有一个奇怪的问题。我有两个 8 位 PNG。其中一个是纯灰色,另一个是带有徽标的实际图形图像。如果我使用基本的,文本使用我在 $font_color (来自 DB)中定义的颜色,没有问题。如果我使用更图形化的颜色,则颜色不正确,并且 imagecollorallocate 似乎没有返回一组 RGB 值。

对某些类型的 PNG 有什么需要做的吗?

4

0 回答 0