我有以下代码来设置2种颜色:
$_colours = array(
0 => array(
'r' => 255,
'g' => 0,
'b' => 0
),
1 => array(
'r' => 0,
'g' => 255,
'b' => 0
)
);
$col[0] = ImageColorAllocate($base_image,$_colours[0]['r'],$_colours[0]['g'],$_colours[0]['b']);
$col[1] = ImageColorAllocate($base_image,$_colours[1]['r'],$_colours[1]['g'],$_colours[1]['b']);
但是,$col[0]
和$col[1]
分别返回0
和1
,而不是红色和绿色,我实际上是黑色和白色。我认为这些应该返回该颜色的数字,而不是1/0。
此外,我可以将这些r/g/b
值更改为几乎任何其他值,我仍然可以获得相同的返回值。
我还需要做些什么吗?
答案 0 :(得分:0)
imageColorAllocate
会返回color identifier
或FALSE
。
您的数组应该是资源(标识符),而不是颜色。
尝试:
imagesetpixel($base_image,5,5,$col[0]);
应使用标识符绘制带有颜色的像素。