Создание изображений в PHP Основные принципы
Создание изображений в PHP Основные принципы создания изображений в PHP. php $i = image. Create(200, 300); $color = image. Color. Allocate($i, 255, 0); image. Filled. Rectangle($i, 0, 0, image. SX($i), image. SY($i), $color); Header("Content-type: image/jpeg"); image. Jpeg($i); image. Destroy($i); ? >
• image. Create ( int $ width , int $ height ) - э функция возвращает идентификатор изображения шириной width и высотой height. Если объяснить более понятным языков, то Вы этим действием создаёте "чистый холст для рисования". • image. Color. Allocate ( resource $ image , int $ red , int $ green , int $ blue ) - функция возвращает идентификатор цвета со следующими составляющими: красной ( red ), зелёной (green), синей (blue). В нашем случае мы взяли красную и зелёную составляющую по максимуму (255). В результате, был получен жёлтый цвет.
• image. Filled. Rectangle(resource $image, int $x 1, int $y 1, int $x 2, int $y 2, int $color) - эта функция рисует закрашенный прямоугольник на холсте image с координатами левого верхнего угла - x 1 и y 1, и координатами правого нижнего угла - x 2 и y 2, и цветом color. • image. SX(resource $image) - возвращает ширину изображения image. • image. SY(resource $image) - возвращает высоту изображения image.
• image. Jpeg(resource $image) - эта функция "выбрасывает" изображение image на экран. То есть в предыдущей строке мы сообщили серверу, что сейчас будет отправлено изображение, а уже этой строкой отправили само изображение. • image. Destroy(resource $image) - уничтожение изображения image. Всегда надо использовать эту функцию, чтобы освободить память на сервере.
php $i = image. Create(200, 300); $color = image. Color. Allocate($i, 255, 0); image. Set. Pixel($i, 30, 50, $color); $color = image. Color. Allocate($i, 255, 0, 0); image. Set. Thickness($i, 3); image. Line($i, 10, 100, $color); image. Set. Thickness($i, 10); image. Rectangle($i, 0, 0, image. SX($i), image. SY($i), $color); $color = image. Color. Allocate($i, 255, 0, 0); image. Filled. Rectangle($i, 100, 200, 150, 240, $color);
image. Set. Thickness($i, 2); image. Arc($i, 50, 100, 40, 50, 90, 300, $color); $color = image. Color. Allocate($i, 0, 255, 0); image. Polygon($i, array(10, 20, 120, 250, 190, 290, 10, 20), 4, $color); Header("Content-type: image/jpeg"); image. Jpeg($i); image. Destroy($i); ? >
• image. Set. Pixel(resource image, int x, int y, int color) - данная функция рисует пиксель с координатами x и y на изображении image с цветом color. • image. Set. Thickness(resource image, int thickness) - функция, устаналивающая толщину линий при рисовании прямоугольников, эллипсов, самих линий и других фигур в PHP. • image. Line(resource image, int x 1, int y 1, int x 2, int y 2, int color) - функция, позволяющая рисовать линии на изображении image из начальной точки с координатами x 1 и y 1 в конечную точку с координатами x 2 и y 2. Линия будет нарисована цветом color.
• image. Rectangle(resource image, int x 1, int y 1, int x 2, int y 2, int color) - функция для рисования контура прямоугольника на изображении image с координатами левого верхнего угла x 1 и y 1 и с координатами правого нижнего угла - x 2 и y 2. • image. Filled. Rectangle(resource image, int x 1, int y 1, int x 2, int y 2, int color) - эта функция рисует закрашенный прямоугольник. • image. Polygon(resource image, array points, int num_points, int color) - рисует многоугольник на изображении image с координатми вершин, заданных в массиве points (x 1, y 1, x 2, y 2 и так далее) и общим количеством вершин, заданным num_points.
image. Arc(resource image, int cx, int cy, int w, int h, int s, int e, int color) - эта функция в общем случае рисует дугу эллипса на изображении image с координатами центра cx и cy. Ширина и высота эллипса - w и h соответственно. Начальный угол - s, конечный угол - e. Рисование дуги в PHP идёт против часовой стрелки. Цвет дуги задаётся аргументов color. Если Вы укажите параметр s = 0, а e = 360, то получится эллипс. А если ещё при этом w = h, то получится окружность.

