Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Работа с изображениями в PHP.docx
Скачиваний:
8
Добавлен:
19.11.2019
Размер:
33 Кб
Скачать
☆
  1. Графические примитивы

Для рисования точки используется функция 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);

?>