// 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);