Mecitan
@Mecitan
Уверенный пользователь клавиатуры

Почему не происходит заполнение фигурами?

Приветствую всех. Решил для себя поработать с изображениями на РНР используя GD. Есть задача вывести на экран квадрат, состоящий из n x n квадратов различного цвета. За основу взял canvas размером 800х800, решил заполнить его квадратами размером 200 - 1 (имитация бордера). То есть получается сетка 4х4, суммарно в 16 квадратов. Собственное есть вот такой код:
header('Content-Type: image/png');

function Square(): int
{
    $canvas = imagecreatetruecolor(800, 800); //создание холста

    $randomBackgroundColor = imagecolorallocate($canvas, rand(0, 255), rand(0, 255), rand(0, 255)); //Создаём рандомный цвет для квадрата

    for ($i = 0; $i <= 3; $i += 200) {
        for ($j = 0; $j <= 3; $j += 200) {
            imagefilledrectangle($canvas, $i, $j, 200 - 1, 200 - 1, $randomBackgroundColor); //Тут я ожидаю, что будет происходить заполнение пространства квадратами. 
        }
    }

    return imagepng($canvas);
}

Square();


Тут наступает момент, когда ожидание не совпадает с реальностью. Так как квадрат есть. Но только в начальной позиции в левом верхнем углу. Он меняет цвет, но заполнение canvas не происходит. Прошу помощи помочь разобраться в данном вопросе и понять, где я допустил ошибку.
  • Вопрос задан
  • 96 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
for ($i = 0; $i <= 4; $i += 200) {
Первый шаг: $i = 0
Второй шаг: $i = $i + 200 = 200. 200 > 4, условие не выполняется, цикл завершается.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы