UXGraphicsContext - Класс для работы с Canvas
UXGraphicsContext
function beginPath() :
- Путь по умолчанию пуст.
- Сбрасывает текущий путь на пустой.
- Без параметров
function moveTo($x0,$y0):
- Выдает команду перемещения для текущего пути к заданной координате x, y.
- Координаты преобразуются текущим преобразованием по мере добавления к пути и не зависят от последующих изменений преобразования.
- $x0 — Координата точки по оси X (по горизонтали).
- $y0 — Координата точки по оси Y (по вертикали).
function lineTo():
- Добавляет сегменты к текущему пути, чтобы построить линию с заданными координатами x, y.
- $x1 — Координата точки по оси X (по горизонтали).
- $y1 — Координата точки по оси Y (по вертикали).
function quadraticCurveTo($xc,$yc,$x1,$y1):
- Добавляет сегменты к текущему пути для создания квадратичной кривой Безье.
- $xc — Координата X
- $yc — Координата Y
- $x1 — Координата X
- $y1 — Координата Y
function bezierCurveTo($xc1,$yc1,$xc2,$yc2,$x1,$y1):
- Добавляет сегменты к текущему пути для создания кубической кривой Безье.
- $xc1 — Координата X
- $yc1 — Координата Y
- $xc2 — Координата X
- $yc2 — Координата Y
- $x1 — Координата X
- $y2 — Координата Y
function arcTo($x1,$y1,$x2,$y2,$radius):
- Добавляет дугу окружности к текущему подпути, используя заданные контрольные точки и радиус. Дуга автоматически соединяется с последней точкой пути прямой линией, если это необходимо для заданных параметров.
- $x1 — Координата по оси X первой контрольной точки.
- $y1 — Координата по оси Y первой контрольной точки.
- $x2 — Координата по оси X второй контрольной точки.
- $y2 — Координата по оси Y второй контрольной точки.
- $radius - Радиус дуги. Должен быть неотрицательным.
- Примечание: имейте в виду, что вы можете получить неожиданные результаты при использовании относительно большого радиуса: соединительная линия дуги будет идти в любом направлении, в котором она должна соответствовать указанному радиусу.
function arc($centerX,$centerY,$radiusX,$radiusY,$startAngle,$length:
- Добавляет элементы пути к текущему пути для создания дуги, использующей евклидовы градусы.
- Эта евклидова ориентация простирается с востока на север, затем на запад, затем на юг и обратно на восток.
- $centerX — Горизонтальная координата центра дуги.
- $centerY — Вертикальная координата центра дуги.
- $radiusX — ???
- $radiusY — ???
- $startAngle — Угол начала дуги в радианах, отсчитываемый от положительной оси абсцисс.
- $length — Длина (Возможно это Радиус дуги. Должен быть положительным.)
function rect($x,$y,$w,$h):
- Добавляет элементы пути к текущему пути для создания прямоугольника.
- $x — Координата по оси X начальной точки прямоугольника.
- $y — Координата по оси Y начальной точки прямоугольника.
- $w - Ширина прямоугольника. Положительные значения находятся справа, а отрицательные — слева.
- $h - Высота прямоугольника. Положительные значения снижаются, а отрицательные — вверх.
function appendSVGPath($svgpath) :
- Добавляет строку SVG Path к текущему пути.
- Если текущий путь отсутствует, строка должна начинаться с любого типа команды перемещения.
- $svgpath — SVG Путь
function closePath() :
- Закрывает путь.
- Без параметров
function fill() :
- Заполняет путь текущей заливкой.
- Без параметров
function stroke() :
- Обводит контур текущей краской обводки.
- Без параметров
function clip() :
- Включает текущий или заданный путь в текущей области подрезки. Предыдущая область обрезки, если таковая имеется, пересекается с текущим или заданным путем для создания новой области обрезки.
- Примечание: Имейте в виду, что область отсечения создается только из фигур, добавленных к контуру. Он не работает с примитивами фигур, нарисованными непосредственно на холсте, такими как fillRect(). Вместо этого вам придется использовать rect() для добавления прямоугольной формы к пути перед вызовом clip().
- Без параметров
function IsPointInPath($x,$y):
- Возвращает true, если заданная точка x, y находится внутри пути.
- $x — Координата по оси X проверяемой точки, на которую не влияет текущее преобразование контекста.
- $y — Координата по оси Y проверяемой точки, на которую не влияет текущее преобразование контекста.
- Возвращает:
- true — Если точка находится внутри текущего пути(?)
- false — Если НЕ точка находится внутри текущего пути(?)
function clearRect($x,$y,$w,$h):
- Очищает часть холста со значением прозрачного цвета.
- $x — Координата X
- $y — Координата Y
- $w — Ширина
- $h — Высота
function fillRect($x,$y,$w,$h):
- Заливает часть холста со значением указанного цвета.
- $x — Координата по оси X начальной точки прямоугольника.
- $y — Координата Y
- $w — Ширина
- $h — Высота
function fillText($text,$x,$y,$maxWight=0):
- Заполняет заданную строку текста в позиции x, y с текущим атрибутом заливки краски.
- $text — Текст
- $x — Координата X
- $y — Координата Y
- $maxWight — Максимальная ширина текста
function strokeText($text,$x,$y,$maxWight=0):
- Рисует заданную строку текста в позиции x, y с текущим атрибутом заливки.
- $text — Текст
- $x — Координата X
- $y — Координата Y
- $maxWight — Максимальная ширина текста
function drawImage(UXImage $image,$x,$y,$w=null,$h=null,$dx=null,$dy=null,$dw=null,$dh=null):
- Вставляет изображение на холст
- $image — Изображение (класс UXImage)
- $x — Координата X
- $y — Координата Y
- $w — Ширина изображения (опц.)
- $h — Высота изображения (опц.)
- $dx — Координата X (опц.)
- $dy — Координата Y (опц.)
- $dw — Ширина изображения (опц.)
- $dh — Высота изображения (опц.)
- PS: переменные $d[x;y;w;h] — наверное для указания относительного положения
Переменные
$font — Шрифт (UXFont)
$globalAlpha (float) = 1.0 — Определяет значение альфа (прозрачность), которая применяется к фигурам и изображения , прежде чем они нарисованы на холсте.
$globalBlendMode (string) — Задает тип композитинга операции применять при разработке новых форм, может принимать параметры:
- SRC_OVER — Это настройка по умолчанию, при которой новые фигуры рисуются поверх существующего содержимого холста.
- SRC_ATOP — Новая форма рисуется только там, где она перекрывает существующее содержимое холста.
- ADD — ???
- MULTIPLY — Пиксели верхнего слоя умножаются на соответствующий пиксель нижнего слоя. В результате получается более темное изображение.
- SCREEN — Пиксели инвертируются, умножаются и снова инвертируются. В результате получается более светлое изображение (противоположное умножению)
- OVERLAY — Комбинация умножения и экрана. Темные участки на основном слое становятся темнее, а светлые — светлее.
- DARKEN — Сохраняет самые темные пиксели обоих слоев.
- LIGHTEN — Сохраняет самые светлые пиксели обоих слоев.
- COLOR_DODGE — Делит нижний слой на перевернутый верхний слой.
- COLOR_BURN — Делит перевернутый нижний слой на верхний слой, а затем инвертирует результат.
- HARD-LIGHT — Комбинация умножения и экрана похожа на наложение, но с заменой верхнего и нижнего слоев.
- SOFT-LIGHT — Более мягкая версия жесткого света. Чистый черный или белый не дает чистого черного или белого.
- DIFFERENCE — Вычитает нижний слой из верхнего или наоборот, чтобы всегда получать положительное значение.
- EXLUSION — Как и DIFFERENCE, но с меньшей контрастностью.
- (НЕ ПОДДЕРЖИВАЕТСЯ! Отсутствует в документации) SOURCE-IN — Новая фигура рисуется только там, где перекрываются и новая фигура, и целевой холст. Все остальное сделано прозрачным.
- (НЕ ПОДДЕРЖИВАЕТСЯ! Отсутствует в документации) SOURCE-OUT — Новая фигура рисуется там, где она не перекрывает существующее содержимое холста.
- (НЕ ПОДДЕРЖИВАЕТСЯ! Отсутствует в документации) DESTINATION-OVER — Новые формы рисуются за существующим содержимым холста.
- (НЕ ПОДДЕРЖИВАЕТСЯ! Отсутствует в документации) DESTINATION-IN — Существующее содержимое холста сохраняется там, где перекрываются как новая форма, так и существующее содержимое холста. Все остальное сделано прозрачным.
- (НЕ ПОДДЕРЖИВАЕТСЯ! Отсутствует в документации) DESTINATION-OUT — Существующее содержимое сохраняется там, где оно не перекрывает новую форму.
- (НЕ ПОДДЕРЖИВАЕТСЯ! Отсутствует в документации) DESTINATION-ATOP — Существующий холст сохраняется только там, где он перекрывает новую форму. Новая форма рисуется за содержимым холста.
- (НЕ ПОДДЕРЖИВАЕТСЯ! Отсутствует в документации) COPY — Показывается только новая форма.
- (НЕ ПОДДЕРЖИВАЕТСЯ! Отсутствует в документации) HUE — Сохраняет яркость и цветность нижнего слоя, принимая оттенок верхнего слоя.
- (НЕ ПОДДЕРЖИВАЕТСЯ! Отсутствует в документации) SATURATION — Сохраняет яркость и оттенок нижнего слоя, сохраняя при этом цветность верхнего слоя.
- (НЕ ПОДДЕРЖИВАЕТСЯ! Отсутствует в документации) COLOR — Сохраняет яркость нижнего слоя, принимая оттенок и цветность верхнего слоя.
- (НЕ ПОДДЕРЖИВАЕТСЯ! Отсутствует в документации) LUMINOSITY — Сохраняет оттенок и насыщенность нижнего слоя, сохраняя яркость верхнего слоя.
$lineWight — Ширина линии
$lineCap — Определяет, как будут выглядеть концы нарисованных линий:
- BUTT — Концы линий прямые
- ROUND — Концы линий скругленные
- SQUARE — Концы линий прямые, но к ней с обоих концов добавляется поле с шириной равной толщине линии и высотой равной половине от толщины линии.
$lineJoin - Определяет форму, используемую для соединения двух отрезков , где они встречаются:
- ROUND-Закругляет углы формы, заполняя дополнительный сектор диска с центром в общей конечной точке соединенных сегментов. Радиус этих закругленных углов равен ширине линии.
- BEVEL — Заполняет дополнительную треугольную область между общей конечной точкой соединенных сегментов и отдельными внешними прямоугольными углами каждого сегмента.
- MITER - Соединенные сегменты соединяются путем удлинения их внешних краев для соединения в одной точке с эффектом заполнения дополнительной области в форме ромба. На этот параметр влияет miterLimit свойство. Значение по умолчанию.
$miterLimit — Число, указывающее предельное отношение угла скоса в единицах координатного пространства.
$fill — Класс UXPaint();
$fillRule — Правила для IsPointInPath, может иметь параметры:
- EVEN_ODD - Правило четной-нечетной намотки.
- NON_ZERO - Правило ненулевой обмотки . Правило по умолчанию.
$stroke — Класс UXPaint();