Задать вопрос
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 не происходит. Где я допустил ошибку?
  • Вопрос задан
  • 105 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
for ($i = 0; $i <= 4; $i += 200) {
Первый шаг: $i = 0
Второй шаг: $i = $i + 200 = 200. 200 > 4, условие не выполняется, цикл завершается.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽