Рисование линии. Стиль, цвет, толщина

Помимо обработки картинок, с помощью GD можно рисовать простые элементы. В этом рецепте приведен пример нанесения линий. Рисовать можно как на пустых холстах, так и на загруженных изображениях. Линии могут иметь различный цвет, толщину и стиль отображения – не прерывная, пунктир, точки, точка и тире и так далее. Для установки стиля, используется функция imagesetstyle, которая принимает массив с порядком нанесения и цветом пикселей. Чтобы определить толщину линии применяется функция – imagesetthicknes. А для рисования самой линии используется функция imageline,которая принимает значение начальных и конечных координат по осям X и Y.

Пример:
$width = 200; // ширина изображения 
$height = 200; // высота изображения 
// создаем изображение, на котором будем рисовать  
$img = imagecreatetruecolor($width, $height); 
// цвет заливки фона 
$rgb = 0xFFFFFF;  
// заливаем холст цветом $rgb 
imagefill($img, 0, 0, $rgb);  
 
// создаем цвета 
$red   = imagecolorallocate($img, 255, 0, 0); 
$white = imagecolorallocate($img, 255, 255, 255); 
$black = imagecolorallocate($img, 0, 0, 0); 
 
// координаты линии 
$x1 = 20; $y1 = 50; $x2 = 180; $y2 = 50; 
// рисуем обычную линию 
imageline ($img, $x1, $y1, $x2, $y2, $black); 
 
// установка стиля линии (пунктир) 
// 4 белых пикселя, 4 черных 
$style = array($white, $white, $white, $white,$black, $black, $black, $black); 
imagesetstyle($img, $style); 
// координаты линии 
$x1 = 20; $y1 = 150; $x2 = 180; $y2 = 50; 
// рисуем пунктирную линию 
imageline ($img, $x1, $y1, $x2, $y2, IMG_COLOR_STYLED ); 
107 
 
 
// толщина линии 
imagesetthickness($img, 5); 
// координаты линии 
$x1 = 20; $y1 = 150; $x2 = 180; $y2 = 150; 
// рисуем толстую линию 
imageline ($img, $x1, $y1, $x2, $y2, $red); 
 
// заголовок для браузера 
header("Content-Type: image/png"); 
// выводим результат в браузер 
imagepng($img);  
// очищаем память после выполнения скрипта 
imagedestroy($img);


Помимо уже описанных выше функций, в примере была
использована еще одна - imagecolorallocate. С ее помощью
можно создавать цвета, для дальнейшего использования при работе
с изображением.
Теги:
Рисование линии, imageline, imagesetthicknes, imagesetstyle, imagecolorallocate
Добавлено: 29 Марта 2018 07:21:51 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...