我有以下代码根据通过表单上传的内容基于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(来自数据库)中定义的颜色没有问题。如果我使用更多的图形,颜色不正确,imagecollorallocate似乎没有返回一组RGB值。
某些类型的PNG是否需要做些什么?