Справочник по функциям canvas2D
Общие замечания по параметрам функций
Во всех функциях:
ctx - контекст рисования
width - толщина линии
color - цвет линии или текста
R - красный цвет
G - зеленый цвет
B - синий цвет
В некоторых функциях:
Black - черный цвет
Gray - серый цвет
DarkOrchid - пурпурный цвет
Также цвет можно задавать явно. Например: "#A2BC89"
Преобразование координат
function fx(x), function fy(y)
Функции fx(x) и fy(y) используются для преобразования
значений координат холста x и y, заданных в системе
координат используемых в библиотеке функций WebGeometry
(в дальнейшем будем использовать для нее обозначение WG),
в значения координат холста x_canvas и y_canvas принятых
в HTML5 Canvas.
function fx(x)
{
var x_canvas = x * SCALE + xC;
return x_canvas;
}
function fy(y)
{
var y_canvas = - y * SCALE + yC;
return y_canvas;
}
Значения SCALE, xC и yC изначально задаются программистом.
Эти значения являются глобальными переменными сразу для всей программы отображения.
В процессе работы программы их можно (при желании) изменять при помощи мыши или клавиатуры.
SCALE - задает масштаб отображения координат в WG в координаты холста HTML5 Canvas.
xC - задает в пикселах по оси OX положение начала координат в системе WG.
yC - задает в пикселах по оси OY положение начала координат в системе WG.
Отображение координатных осей и сетки
function axes(ctx, dx, dy, width, color)
Функция отображает оси OX и OY на холсте
dx и dy - размеры осей по X и Y
width - толщина линий осей
color - цвет линий осей
function grid(ctx, n_hor, n_vert, step, width, color)
Функция отображает сетку на холсте
n_hor - количество делений сетки по горизонтали
n_vert - количество делений сетки по вертикали
step - шаг сетки
width - толщина линий сетки
color - цвет линий сетки
Отображение точек
function rsp(ctx, point, size, color)
Отображение точки в виде квадрата
point - координаты точки в формате Point2D (система координат WG)
size - размер точки в пикселах
color - цвет точки
function csp(ctx, point, size, color)
Отображение точки в виде окружности
point - координаты точки в формате Point2D (система координат WG)
size - размер точки в пикселах
color - цвет точки
Отображение текста
text(ctx, str, point, align, baseline, color, font)
Отображение текстовой строки.
str - текстовая строка
point - координаты точки задают положение текстовой строки str.
align - смещение текста по горизонтали относительно точки point.
Параметр align может принимать значения "lt", "center", "rt".
baseline - смещение текста по вертикали относительно точки point.
Параметр baseline может принимать значения "up", "mid", "dn".
В отличие от функций text1 и text2 в этой функции нет дополнительного
смещения положения текста относительно положения point.
Это смещение совпадает (но не по названию параметра) со значением
смещения текста задаваемого в функции fillText HTML5 Canvas.
На рисунке 1 показано как использовать значения "up", "mid", "dn", "lt", "center", "rt".
text1(ctx, str, point, align, baseline, color, font)
Отображение текстовой строки.
В отличие от функции text в данной функции text1 введено дополнительное
смещение положения текста относительно положения задаваемого точкой point.
str - текстовая строка
point - координаты точки задают положение текстовой строки str.
align - смещение текста по горизонтали относительно точки point.
Параметр align может принимать значения "lt", "center", "rt".
baseline - смещение текста по вертикали относительно точки point.
Параметр baseline может принимать значения "up", "mid", "dn".
На рисунке 1 показано как использовать значения "up", "mid", "dn", "lt", "center", "rt".
text2(ctx, str, point, align, baseline, color, font)
Отображение текстовой строки.
В отличие от функции text в данной функции text2 введено дополнительное
смещение положения текста относительно положения задаваемого точкой point.
Но величина этого смещения больше, чем величина соответствующего смещения в функции text1.
str - текстовая строка
point - координаты точки задают положение текстовой строки str.
align - смещение текста по горизонтали относительно точки point.
Параметр align может принимать значения "lt", "center", "rt".
baseline - смещение текста по вертикали относительно точки point.
Параметр baseline может принимать значения "up", "mid", "dn".
На рисунке 1 показано как использовать значения "up", "mid", "dn", "lt", "center", "rt".
roundNumber(num, places)
Форрмирование заданного числового представления.
Используется для вывода чисел на экран.
Функция возвращает форматированное значение числа num.
num - исходное число
places - задает количество цифр в возвращаемом значении
Отображение прямых и отрезков
function line_ext(ctx, pt1, pt2, x_begin, x_end, width, color)
Отображение прямой проходящей через точки pt1 и pt2.
Отображение прямой начинается с точки имеющей значение координаты X равное x_begin
и заканчивается в точке имеющей значение координаты X равное x_end.
Данную функцию целесообразно использовать для отображения на чертеже выносных линий.
function line_ext2(ctx, pt1, pt2, kf, width, color)
Отображение прямой проходящей через точки pt1 и pt2.
Прямая простирается дальше точек pt1 и pt2 в обе стороны.
Параметр kf определяет величину протяженности прямой за точки pt1 и pt2.
Данную функцию целесообразно использовать для отображения на чертеже выносных линий.
function line_segment(ctx, pt1, pt2, width, color)
Отображение отрезка прямой от точки pt1 до точки pt2 сплошной линией.
function line_segment_dash(ctx, pt1, pt2, width, color).
Отображение отрезка прямой от точки pt1 до точки pt2 пунктирной линией
function segment_arrow(ctx, pt1, pt2, width, scale, color)
Отображение отрезка прямой от точки pt1 до точки pt2 сплошной линией
со стрелкой в точке pt2.
function segment_two_arrow(ctx, pt1, pt2, width, scale, color)
Отображение отрезка прямой от точки pt1 до точки pt2 сплошной линией
со стрелками в точках pt1 и pt2.
Данную функцию целесообразно использовать для отображения на чертеже размерных линий.
Отображение треугольника/стрелки
function arrow(ctx, point, ang, scale, color, direction)
Отображение треугольника (стрелки) в точке point.
ang - задает угол наклона треугольника (стрелки).
Угол ang отсчитывается от оси OY по часовой стрелке,
если direction = true или direction = undefined.
И против часовой стрелки, если direction = false.
scale - размер/масштаб треугольника (стрелки).
Параметр scale просто определяет некоторый масштаб изображения треугольника.
При значении scale = 1.0 треугольник (стрелка) не масштабируется по величине.
function arr(ctx, point, angle, scale)
Вспомогательная функция для отрисовки острия стрелки.
angle - наклон острия стрелки
scale - размер/масштаб острия стрелки
Отображение дуг
function draw_angle(ctx, point, angle_begin, angle_end, radius, width, color)
Отображение отрезка дуги с радиусом заданным с учетом величины значения масштабирования SCALE.
point - точка задающая центр дуги
angle_begin - начальный угол дуги
angle_end - конечный угол дуги
Вращение (отсчет углов) осуществляется против часовой стрелки.
function draw_angle_txt(ctx, point, angle_btgin, angle_end, radius, str, align, baseline, width, color, font)
Отображение отрезка дуги с радиусом заданным с учетом величины значения масштабирования SCALE.
Рядом с дугой отображается текст заданный программистом.
str - текст сопровождающий дугу
point - точка задающая центр дуги
angle_begin - начальный угол дуги
angle_end - конечный угол дуги
Вращение (отсчет углов) осуществляется против часовой стрелки.
function radius_arrow(ctx, center, radius, angle, width, scale, color)
Отображение отрезка со стрелкой имеющий длину равную величине radius.
Отрезок начинается в точке point и располагается под углом angle к оси OX.
scale - задает размер стрелки на конце отрезка.
Отображение окружностей и эллипсов
function circle(ctx, point, radius, width, color)
Отображение окружности с центром в точке point с радиусом radius.
function drawEllipse(ctx, x, y, a, b, width, color)
Отображение эллипса с центром в точке с координатами (x, y) в системе WG.
a и b - размеры полуосей эллипса.
function drawEllipse2(ctx, point, a, b, width, color)
Отображение эллипса с центром в точке point.
a и b - размеры полуосей эллипса.
Отображение многоугольников
function draw_polygon_line(ctx, points, width, color)
Отображение замкнутого контура проходящего через массив точек points
color - цвет линий контура
function draw_polygon(ctx, points, width, color, facet_color)
Отображение закрашенного контура проходящего через массив точек points
color - цвет линий контура
facet_color - цвет закраски полигона лежащего внутри контура
width - толщина линии окаймляющей многоугольник.
Если значение этого параметра меньше 0, то линия окаймляющая многоугольник не проводится.
function fill_polygon(ctx, points, n, facet_color)
Отображение закрашенного многоугольника имеющего n вершин в массиве points.
Эта функция подобна функции draw_polygon, но без проведения линий окаймляющих полигон.
facet_color - цвет закраски полигона
n - количество вершин полигона