Рандомный фон GD php

76
08 декабря 2021, 23:10

Так работает, черный фон, белые буквы.

<?
    $im = imagecreatetruecolor(128,128);
    $fon = imagecolorallocate($im, 0, 0, 0);
    imagefill($im, 0, 0, $fon);
    $white = imagecolorallocate($im, 255, 255, 255);
?>

Создаю массив со цветами и выбираю рандомно цвет.

<?
    $im = imagecreatetruecolor(128,128);
    $bc = array('0, 0, 0','65, 105, 225','255, 0, 0','0, 128, 128','0, 191, 255','255, 69, 0','124, 252, 0');
    $fon = imagecolorallocate($im, $bc[mt_rand(1,8)-1]);
    imagefill($im, 0, 0, $fon);
    $white = imagecolorallocate($im, 255, 255, 255);
?>

echo $bc[0]; существует, что не так?:(

Answer 1

Дело в том, что во втором примере, который вы оставили,в функцию imagecolorallocate требуется передавать 4 параметра, а выбором случайного элемента вы передаете всего два.

$exp = explode(',', $bc[array_rand($bc)]);
$fon = imagecolorallocate($im, $exp[0], $exp[1], $exp[2]);
Answer 2
<?
$im = imagecreatetruecolor(128,128);
$bc = array(
    array(0, 0, 0),
    array(65, 105, 225)
);
$random = $bc[mt_rand(1,8)-1];
array_unshift($random, $im);
$fon = imagecolorallocate($random);
imagefill($im, 0, 0, $fon);
$white = imagecolorallocate($im, 255, 255, 255);
?>
не уверен работает ли) но как вариант
READ ALSO
Отслеживать открытия письма

Отслеживать открытия письма

Есть скрипт который генерирует HTML письма с с пикселем, почтовые сервера пропускают img через свой прокси и соответственно у меня в скрипте,...

90
Почему PDO query возвращает false?

Почему PDO query возвращает false?

Почему var_dump($result) возвращает false? Данные вроде верно, несколько раз проверил

173
Случайный сундук, поиск параметров

Случайный сундук, поиск параметров

Всем привет! Я делаю рулетку для одного учебного проектаТак, вот у меня есть кейс с ценой в 59₽, в нём расположены предметы:

193
Почему массив не изменяется?

Почему массив не изменяется?

Да, то, что я хочу, можно реализовать через return в функции, но меня волнует мой вопрос

226