Рисование цветных изображений с помощью PHP. Программирование для развлечения. Джеймс Уэллс

Читать онлайн.
Название Рисование цветных изображений с помощью PHP. Программирование для развлечения
Автор произведения Джеймс Уэллс
Жанр
Серия
Издательство
Год выпуска 0
isbn 9785005933225



Скачать книгу

(«Content-type: image/jpeg’);

      //показать изображение

      imagejpeg ($img);

      imagedestroy ($img);

      ?>

      Рисунок 15. Нарисуйте линию. Draw line.

      Мы можем изменить толщину линии, добавив одну строку кода. Функция imagesetthickness будет контролировать толщину линии в пикселях.

      Файл: draw_thick_line.php (см. рис. 16).

      <?php

      //Создать пустое изображение

      $img=imagecreatetruecolor (900, 700);

      // set the line thickness

      imagesetthickness ($img, 7);

      //заказать цвет (заказываем цвет)

      $yellow = imagecolorallocate ($img, 255, 255, 0);

      // начертить линию

      imageline (

      $img, //GdImage

      200, //x1,

      300, //y1,

      800, //x2,

      600, //y2,

      $yellow //color

      );

      header («Content-type: image/jpeg’);

      //вывести изображение

      imagejpeg ($img);

      imagedestroy ($img);

      ?>

      Рис. 16. Толстая линия.

      Чтобы попрактиковаться, пожалуйста, создайте линии с разными направлениями, цветами и толщиной. Попробуйте использовать функцию imagedashedline вместо функции imageline. imagedashedline принимает те же параметры, но рисует прерванную линию. ( – — – — – — – —)

      Нарисуем солнце на голубом небе. Сначала нарисуем желтый круг. См. рис. 16. Чтобы нарисовать круг, мы будем использовать функцию imagefilledellipse. Эта функция принимает шесть параметров, GD-изображение, координаты X и Y центра эллипса, ширину, высоту и цвет. См. исходный код в файле yellow_circle1.php.

      File: yellow_circle1.php

      <?php

      $height=«2000»;

      $width=«2000»;

      // Создать пустое изображение

      $img=imagecreatetruecolor ($width, $height);

      //заказать цвет (заказываем цвет)

      $yellow = imagecolorallocate ($img, 255, 255, 0);

      imagefilledellipse ($img, $width/2, $height/2, $width/2, $height/2, $yellow);

      //вывести изображение в файл

      imagejpeg($img,'images/yellow_circle1.jpg’,100);

      header («Content-type: image/jpeg’);

      //показать изображение

      imagejpeg ($img);

      imagedestroy ($img);

      ?>

      Теперь давайте добавим синий цвет фона. Закажите голубой цвет:

      $lightblue = imagecolorallocate ($img, 0, 195, 255);

      Затем нарисуйте синий прямоугольник, используя функцию imagefilledrectangle. Эта функция принимает шесть параметров: изображение GD, координаты X1 и Y1 начальной точки (левый верхний угол) и координаты X2 и Y2 конечной точки (правый нижний угол) и цвет. Вот строки кода, которые мы добавили в файл yellow_circle2.php. Они выделены.

      imagefilledrectangle ($img, 0, 0, $width, $height, $lightblue);

      Затем мы можем нарисовать желтый круг с помощью функции imagefilledellipse и получить изображение, как на рисунке 17.

      Рисунок 17 Желтый круг на голубом фоне.

      Файл: yellow_circle2.php

      <?php

      $height=«2000»;

      $width=«2000»;

      //Создать пустое изображение

      $img=imagecreatetruecolor ($width, $height);

      //заказать цвет

      $lightblue = imagecolorallocate ($img, 0, 195, 255);

      $yellow = imagecolorallocate ($img, 255, 255, 0);

      //рисуем прямоугольник

      imagefilledrectangle ($img, 0, 0, $width, $height, $lightblue);

      imagefilledellipse ($img, $width/2, $height/2, $width/2, $height/2, $yellow);

      //output the image in the file

      imagejpeg($img,'images/yellow_circle2.jpg’,100);

      header