52680.fb2
}
$k = ($y2 - $y1) / ($x2 - $x1); //y = kx + q
$a = $t / sqrt(1 + pow($k, 2));
$points = array(
round($x1 - (1+$k)*$a), round($y1 + (1-$k)*$a),
round($x1 - (1-$k)*$a), round($y1 - (1+$k)*$a),
round($x2 + (1+$k)*$a), round($y2 - (1-$k)*$a),
round($x2 + (1-$k)*$a), round($y2 + (1+$k)*$a),
);
imagefilledpolygon($image, $points, 4, $color);
return imagepolygon($image, $points, 4, $color);
};
?>
imageDashedLine
Рисует пунктирную линию.
Синтаксис:
int imageDashedLine(int im, int x1, int y1, int x2, int y2, int color)
Эта функция работает почти так же, как и imageLine(), только рисует не сплошную, а пунктирную линию. К сожалению, ни размер, ни шаг штрихов задавать нельзя, так что, если вам обязательна нужна пунктирная линия произвольной фактуры, придется заняться математическими расчетами и использовать imageLine().
imageRectangle
Рисует прямоугольник.
Синтаксис:
int imageRectangle(int im, int x1, int y1, int x2, int y2, int color)
Эта функция рисует в изображении im прямоугольник с границей толщиной 1 пиксель цветом color.
Левый верхний угол задается (x1, y1), а правый нижний - (x2, y2).
imageFilledRectangle
Зарисовка прямоугольной области.
Синтаксис:
int imageFilledRectangle(int im, int x1, int y1, int x2, int y2, int color)
Эта функция рисует закрашенный прямоугольник в изображении, заданном идентификатором im, цветом color (полученным, например, при помощи функции imageColorAllocate()). Координаты (x1, y1) и (x2, y2) задают координаты верхнего левого и правого нижнего углов, соответственно (отсчет, как обычно, начинается с верхнего угла и идет слева направо и сверху вниз).
Эта функция часто применяется для того, чтобы целиком закрасить только что созданный рисунок, например, прозрачным цветом:
<?php
$im=imageCreate(100,100);
$color=imageColorAllocate($i,0,0,0);
imageColorTransparent($im,$color);
imageFilledRectangle($im,0,0,imageSX($im)-1,imageSY($im)-1,$color);
// дальше работаем с изначально прозрачным фоном
?>
imageArc
Рисование части эллипса.
Синтаксис:
int imageArc(int im, int cx, int cy, int w, int h, int s, int e, int color)
Эта функция рисует в изображении im дугу сектора эллипса от угла s до e (углы указываются в градусах против часовой стрелки, отсчитываемых от горизонтали). Эллипс рисуется такого размера, чтобы вписываться в прямоугольник (w, h), где w и h задают его ширину и высоту. cx и cy - координаты центра эллипса. Сама фигура не закрашивается, обводится только ее контур, для чего используется цвет color.
<?php
// создаем изображение размером 200x200
$img = imagecreate(200, 200);
// задаем цвет окружности
$white = imagecolorallocate($img, 255, 255, 255);
// рисуем окружность
imagearc($img, 100, 100, 150, 150, 0, 360, $white);
// вывод рисунка в браузер