Графические примитивы
Для рисования точки используется функция imagesetpixel():
Общий вид:
imagesetpixel ( идентификатор изображения, x, y, цвет)
x, y – целочисленные координаты точки
Пример . Рисование точки
<?php
header ("Content-type: image/png");
$img = imagecreatetruecolor(320, 240);
$color = imagecolorallocate($img, 255, 255, 255);
imagesetpixel($img,160,120,$color);
imagepng($img);
imagedestroy($img); //удаление изображения и освобождение памяти
?>
Пример. Рисование изображения с помощью точек
<?php
header ("Content-type: image/png");
$img = imagecreatetruecolor(250, 250);
for ($i=0;$i<250;$i++)
for ($j=0;$j<250;$j++) {
$ink = imagecolorallocate($img, $i*3, $i*$j, $j);
imagesetpixel($img,$i,$j,$ink);
}
imagepng($img);
imagedestroy($img);
?>
Для рисования линии используется функция imageline():
Общий вид:
imageline (идентификатор изображения, x1, y1, x2, y2, цвет)
imageline() рисует на изображении отрезок, начинающийся в точке (x1;y1), заканчивающийся в точке (x2;y2). Верхний левый угол имеет координаты (0;0).
Пример. Рисование линии
<?php
header ("Content-type: image/png");
$img = imagecreatetruecolor(320, 240);
$color = imagecolorallocate($img, 255, 255, 255);
imageline($img,0,0,320-1,240-1,$color);
imagepng($img);
imagedestroy($img);
?>
Функция imagerectangle() рисует прямоугольник заданного цвета.
Общий вид:
imagerectangle (идентификатор изображения, x1, y1, x2, y2, цвет)
Координаты верхнего левого угла прямоугольника – (x1;y1), координаты нижнего правого угла прямоугольника – (x2;y2). Верхний левый угол изображения имеет координаты (0;0).
Пример. Рисование прямоугольника:
<?
header ("Content-type: image/png");
$im = imagecreatetruecolor(320, 240);
$ink = imagecolorallocate($im, 255, 255, 255);
imagerectangle($im,80,60,240,180,$ink);
imagepng($im);
imagedestroy($im);
?>
Для рисования закрашенного прямоугольника используется функция imagefilledrectangle():
Общий вид:
imagefilledrectangle (идентификатор изображения, x1, y1, x2, y2, цвет)
Для рисования дуги используется функция imagearc():
Общий вид:
imagearc (идентификатор изображения, cx, cy, w, h, а1, а2, цвет)
где,
cx, cy - координаты центра эллипса;
w - ширина прямоугольника, в который вписывается дуга;
h - высота прямоугольника, в который вписывается дуга;
а1 – начальный угол;
а2 – конечный угол;
Углы отсчитываются в градусах против часовой стрелки по горизонтали.
Пример.
<?php
header ("Content-type: image/png");
$im = imagecreatetruecolor(320, 240);
$color = imagecolorallocate($im, 255, 255, 255);
imagearc($im,160,120,200,150,0,360, $color);
imagepng($im);
imagedestroy($im);
?>
Для рисования эллипса используется функция imageellipse():
Общий вид:
imageellipse (идентификатор изображения, cx, cy, w, h, цвет)
где,
cx, cy - координаты центра эллипса;
w - ширина эллипса (диаметр);
h - высота эллипса (диаметр);
Полигон - это абстрактная геометрическая фигура. С греческого языка слово "полигон" переводится как многоугольник.
Для рисования полигона используется функция imagepolygon():
Общий вид:
imagepolygon (идентификатор изображения, массив вершин, количество вершин, цвет)
Массив вершин содержит X и Y координату каждой вершины. Таким образом, для трех точек, массив содержит шесть элементов: Array( X1, Y1, X2, Y2, X3, Y3)
Пример. Вывод треугольника:
<?php
header ("Content-type: image/png");
$im = imagecreatetruecolor(320, 240);
$ink = imagecolorallocate($im, 255, 255, 255);
imagepolygon($im, Array(
100,100,
120,180,
210,160,
), 3, $ink);
imagepng($im);
imagedestroy($im);
?>
