php中的Imagecolorallocate数组不起作用

时间:2015-08-10 17:54:37

标签: php image colors

首先我制作了这样的颜色变量:

$violet = imagecolorallocate($canvas, 238,130,238);
$orange = imagecolorallocate($canvas, 255,165,0);
$red = imagecolorallocate($canvas, 255,0,0);
$blue = imagecolorallocate($canvas, 0,0,255);
$yellow = imagecolorallocate($canvas, 255,255,0); 
$green = imagecolorallocate($canvas, 0,128,0);
$silver = imagecolorallocate($canvas, 192,192,192); 

我打算制作各种颜色的线条,所以我制作了这样的代码:

$LIST_COLOR     = array($violet,$orange,$red,$blue,$yellow,$green,$silver);

最后,我尝试使用以下代码使用上面的颜色制作7行:

for($i=1; $i<=7; $i++)
{
    imageline($canvas, 50, 50, 150, 100*$i,$LIST_COLOR);
}

但根本没有线路。这是空白的。我用$ violet或其他颜色变量替换了$ LIST_COLOR,颜色出现了。我的代码有什么问题?

提前致谢!

1 个答案:

答案 0 :(得分:0)

您将整个数组$LIST_COLOR作为颜色而不是当前索引$LIST_COLOR[$i]传递。

此外,数组从0开始,因此您应该使用for($i=0; $i<7; $i++)

固定代码:

for($i=0; $i<7; $i++) {
    imageline($canvas, 50, 50, 150, 100*$i, $LIST_COLOR[$i]);
}

输出:

enter image description here