Справочник по функциям 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 - количество вершин полигона