image — Imagecolorallocate массив в php не работает

Сначала я сделал цветовые переменные следующим образом:

$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);
}

Но нет никакой линии вообще. Это пусто Я заменил $ LIST_COLOR на $ violet или другие переменные цвета, цвет появился. Что не так с моим кодом в любом случае?

Заранее спасибо!

-1

Решение

Вы передаете весь массив $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]);
}

Выход:

введите описание изображения здесь

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector