Blame doc/ru/drawing.html

Ivan Mahonin 7a004b
<html>
Ivan Mahonin 7a004b
<head>
Ivan Mahonin 7a004b
<meta charset="UTF-8" />
Ivan Mahonin 7a004b
<link rel="stylesheet" type="text/css" href="style.css" />
Ivan Mahonin 7a004b
<title>Рисование - Helianthus</title>
Ivan Mahonin 7a004b
</head>
Ivan Mahonin 7a004b
<body>
Ivan Mahonin 7a004b
Ivan Mahonin 7a004b
  

Helianthus

Ivan Mahonin 7a004b
  

Запуск и общие функции

Ivan Mahonin 7a004b
  

Клавиатура и мышь

Ivan Mahonin 7a004b
  

Рисование

Ivan Mahonin cece70
  

Шрифты и текст

Ivan Mahonin cece70
  

Текстуры и анимация

Ivan Mahonin cece70
  

Буфер кадра

Ivan Mahonin 7a004b
  

Спрайты

Ivan Mahonin 7a004b
  

Группы спрайтов

Ivan Mahonin 7a004b
  

Звук

Ivan Mahonin 7a004b
  
Ivan Mahonin 7a004b
  

Все функции

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b
Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Рисование

Ivan Mahonin 7a004b
Ivan Mahonin cece70

Перечисленные ниже функции позволяют рисовать на экране различные фигуры и текст.

Ivan Mahonin 7a004b
Ivan Mahonin 788bd9

Для указания цвета используется его числовой код. Код можно записать в виде шестнадцатеричного числа, например: 0xFF0000AA — это полупрозрачный красный (также как #FF0000 в формате web/CSS3, только с добавлением двух цифр альфа-канала в конце). Однако проще всего получить код используя вспомогательные функции: colorByName, colorByRGB, colorByHSV, colorByYUV, а также их аналоги с альфа-каналом: colorByNameA, colorByRGBA, colorByHSVA, colorByYUVA.

Ivan Mahonin cece70
Ivan Mahonin cece70

Вы можете также провести и обратную операцию — извлечь данные отдельных цветовых каналов из кода цвета, см. функции: colorGetRed, colorGetGreen, colorGetBlue, colorGetAlpha, colorGetHue, colorGetSaturation, colorGetValue, colorGetYLuminance, colorGetUChromanance, colorGetVChromanance.

Ivan Mahonin cece70
Ivan Mahonin cece70

Для рисования линий и многоугольников используются функции moveTo, lineTo, closePath, strokePath. При этом функции stroke и fill задают цвет линий и заливки. Функция strokeWeight задаёт толщину линий. Вот пример рисования красного треугольника с чёрным контуром:

Ivan Mahonin cece70
Ivan Mahonin cece70
Ivan Mahonin cece70
fill("red");
Ivan Mahonin cece70
stroke("black");
Ivan Mahonin cece70
strokeWeight(10);
Ivan Mahonin cece70
moveTo(100, 300);
Ivan Mahonin cece70
lineTo(300, 300);
Ivan Mahonin cece70
lineTo(50, 200);
Ivan Mahonin cece70
closePath();
Ivan Mahonin cece70
Ivan Mahonin cece70
Ivan Mahonin cece70
Ivan Mahonin cece70

Также существуют отдельные функции для рисования точек (point), линий (line), прямоугольников (rect), правильных многоугольников (regularPolygon), эллипсов (ellipse) и дуг окружности (arc), смотрите описания функций ниже.

Ivan Mahonin cece70
Ivan Mahonin cece70

Для очистки экрана используйте функцию clear. Функция background задаёт цвет фона — функция clear закрасит все пиксели именно этим цветом. Обратите внимание, что перед рисованием очередного кадра картинка полностью затирается цветом фона. Если вам необходимо сохранять картинку, то вам либо придётся повторить все операции рисования выполненные ранее или обратиться к разделам «Буфер кадра» и «Текстуры и анимация», чтобы узнать, как можно рисовать не на экран, а в текстуру.

Ivan Mahonin cece70
Ivan Mahonin cece70

Для рисования текста см. раздел «Шрифты и текст».

Ivan Mahonin cece70
Ivan Mahonin cece70

Трансформации и прочие преобразования

Ivan Mahonin cece70
Ivan Mahonin cece70

Перед рисованием вы можете сместить, повернуть или растянуть выводимое изображение при помощи функций соответственно: translate, rotate и scale. Таким образом вы можете как бы изменить позицию камеры. Отменить все вышеуказанные трансформации можно вызвав функцию noTransform. Указанные функции меняют текущую матрицу OpenGL, если вы знакомы с OpenGL, то можете менять матрицы напрямую — на работу Helianthus это не повлияет.

Ivan Mahonin cece70
Ivan Mahonin cece70

Также вы можете ограничить область рисования задав прямоугольник отсечения — cliprect.

Ivan Mahonin cece70
Ivan Mahonin cece70

Также обратите внимание на функции saveState и restoreState. Они позволяют соответственно сохранить действующие в данный момент преобразование и затем вернуться к сохранённому состоянию.

Ivan Mahonin cece70
Ivan Mahonin cece70

Функция resetState отменяет все преобразования.

Ivan Mahonin cece70
Ivan Mahonin cece70

Фукнции saveState, restoreState и resetState затрагивают также выбранный шрифт (см. textFont), выбранный буфер кадра (см. target), матрицу проекции (см. projectionByVireport) и координаты области рисования (см. viewportByFramebuffer, viewportByWindow).

Ivan Mahonin cece70
Ivan Mahonin cece70

Взаимодействие с OpenGL

Ivan Mahonin cece70
Ivan Mahonin cece70

Helianthus использует библиотеку OpenGL для рисования. Вы тоже можете использовать функции OpenGL в своих программах. Helianthus спроектирована так чтобы минимально влиять на состояние OpenGL, так чтобы вы могли полноценно использовать все функции библиотеки OpenGL, если вы того захотите. Например, если вы вызвали функцию translate, то изменится только текущая матрица OpenGL, обычно, это матрица модели.

Ivan Mahonin cece70
Ivan Mahonin cece70

Вы можете также использовать рисование в 3D, в этом случае, если вы обратитесь к 2D функциям Helianthus — они будут выполнены в плоскости XY и координата Z будет принята равной нулю.

Ivan Mahonin cece70
Ivan Mahonin cece70

Функции:

Ivan Mahonin cece70
Ivan Mahonin cece70

unsigned int colorByName(const char *colorName);

Ivan Mahonin cece70
Ivan Mahonin 788bd9

Функция генерирует код цвета по его текстовому наименованию в соответствии с CSS3.

Ivan Mahonin 788bd9
Ivan Mahonin 788bd9

Вот примеры наименований:

Ivan Mahonin 788bd9
    "transparent" — прозрачный,
Ivan Mahonin 788bd9
    "black" — чёрный,
Ivan Mahonin 788bd9
    "white" — белый,
Ivan Mahonin 788bd9
    "gray" — серый,
Ivan Mahonin 788bd9
    "red" — красный,
Ivan Mahonin 788bd9
    "green" — зелёный,
Ivan Mahonin 788bd9
    "blue" — синий,
Ivan Mahonin 788bd9
    "yellow" — жёлтый,
Ivan Mahonin 788bd9
    "brown" — коричневый.

Ivan Mahonin 788bd9
Ivan Mahonin 788bd9

Также поддерживаются цвета в кодировка #RRGGBB или #RRGGBBAA:

Ivan Mahonin 7a004b
    #000000 — чёрный;
Ivan Mahonin 7a004b
    #ff0000 — красный;
Ivan Mahonin 7a004b
    #0000ff — синий;
Ivan Mahonin 7a004b
    #00ff00aa — зелёный полупрозрачный.

Ivan Mahonin 7a004b
Ivan Mahonin cece70

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin cece70

colorName — текстовое наименование цвета.

Ivan Mahonin 7a004b
Ivan Mahonin cece70

unsigned int colorByNameA(const char *colorName, double a);

Ivan Mahonin 7a004b
Ivan Mahonin cece70

Генерирует код цвета по его текстовому наименованию с применением прозрачности (alpha). См. также colorByName. Если в текстовом наименовании уже заключён цвет с прозрачностью (alpha) то значения альфа-канала будут перемножены.

Ivan Mahonin 7a004b
Ivan Mahonin cece70

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin cece70

colorName — текстовое наименование цвета;

Ivan Mahonin cece70
a — альфа-канал, степень непрозрачности от 0 до 1, где 0 — полностью прозрачный, 1 — полностью непрозрачный.

Ivan Mahonin 7a004b
Ivan Mahonin cece70

unsigned int colorByRGB(double r, double g, double b);

Ivan Mahonin cece70
Ivan Mahonin cece70

Генерирует код цвета по трём цветовым составляющим — красный, зелёный, синий. Генерируется полностью непрозрачный цвет (альфа-канал равен 1). См. также colorByRGBA.

Ivan Mahonin cece70
Ivan Mahonin cece70

Параметры:

Ivan Mahonin cece70
Ivan Mahonin cece70

r — красная составляющая, от 0 до 1;

Ivan Mahonin cece70
g — зелёная составляющая, от 0 до 1;
Ivan Mahonin cece70
b — синяя составляющая, от 0 до 1.

Ivan Mahonin 7a004b
Ivan Mahonin cece70

unsigned int colorByRGBA(double r, double g, double b, double a);

Ivan Mahonin 7a004b
Ivan Mahonin cece70

Генерирует код цвета по трём цветовым составляющим — красный, зелёный, синий — и прозрачности — альфа-канал. См. также colorByRGB.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin cece70

r — красная составляющая, от 0 до 1;

Ivan Mahonin cece70
g — зелёная составляющая, от 0 до 1;
Ivan Mahonin cece70
b — синяя составляющая, от 0 до 1;
Ivan Mahonin cece70
a — альфа-канал, степень непрозрачности от 0 до 1, где 0 — полностью прозрачный, 1 — полностью непрозрачный.

Ivan Mahonin 7a004b
Ivan Mahonin cece70

unsigned int colorByHSV(double h, double s, double v);

Ivan Mahonin 7a004b
Ivan Mahonin cece70

Генерирует код цвета по трём составляющим в системе HSV — оттенок (hue), цветность (saturation), яркость (value). Генерируется полностью непрозрачный цвет (альфа-канал равен 1). См. также colorByHSVA.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin cece70

h — оттенок (hue) в градусах на цветовом круге, обычно от 0 до 360;

Ivan Mahonin cece70
s — цветность (saturation), от 0 до 1;
Ivan Mahonin cece70
v — яркость, от 0 до 1.

Ivan Mahonin 7a004b
Ivan Mahonin cece70

unsigned int colorByHSVA(double h, double s, double v, double a);

Ivan Mahonin cece70
Ivan Mahonin cece70

Генерирует код цвета по трём составляющим в системе HSV — оттенок (hue), цветность (saturation), яркость (value) — и прозрачности (alpha). См. также colorByHSV.

Ivan Mahonin 7a004b
Ivan Mahonin cece70

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin cece70

h — оттенок (hue) в градусах на цветовом круге, обычно от 0 до 360;

Ivan Mahonin cece70
s — цветность (saturation), от 0 до 1;
Ivan Mahonin cece70
v — яркость, от 0 до 1;
Ivan Mahonin cece70
a — альфа-канал, степень непрозрачности от 0 до 1, где 0 — полностью прозрачный, 1 — полностью непрозрачный.

Ivan Mahonin 7a004b
Ivan Mahonin cece70

unsigned int colorByYUV(double y, double u, double v);

Ivan Mahonin cece70
Ivan Mahonin cece70

Генерирует код цвета по трём составляющим в системе YUV. Генерируется полностью непрозрачный цвет (альфа-канал равен 1). См. также colorByYUVA.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin cece70

y — яркость, от 0 до 1;

Ivan Mahonin cece70
u — цветоразностный компонент U, от -1 до 1;
Ivan Mahonin cece70
v — цветоразностный компонент V, от -1 до 1.

Ivan Mahonin 7a004b
Ivan Mahonin cece70

unsigned int colorByYUVA(double y, double u, double v, double a);

Ivan Mahonin 7a004b
Ivan Mahonin cece70

Генерирует код цвета по трём составляющим в системе YUV и прозрачности. См. также colorByYUV.

Ivan Mahonin 7a004b
Ivan Mahonin cece70

Параметры:

Ivan Mahonin cece70
Ivan Mahonin cece70

y — яркость, от 0 до 1;

Ivan Mahonin cece70
u — цветоразностный компонент U, от -1 до 1;
Ivan Mahonin cece70
v — цветоразностный компонент V, от -1 до 1;
Ivan Mahonin cece70
a — альфа-канал, степень непрозрачности от 0 до 1, где 0 — полностью прозрачный, 1 — полностью непрозрачный.

Ivan Mahonin cece70
Ivan Mahonin cece70

double colorGetRed(unsigned int colorCode);

Ivan Mahonin cece70
Ivan Mahonin cece70

Возвращает красную составляющую цвета. См. также colorByRGBA.

Ivan Mahonin cece70
Ivan Mahonin cece70

double colorGetGreen(unsigned int colorCode);

Ivan Mahonin cece70
Ivan Mahonin cece70

Возвращает зелёную составляющую цвета. См. также colorByRGBA.

Ivan Mahonin cece70
Ivan Mahonin cece70

double colorBlueRed(unsigned int colorCode);

Ivan Mahonin cece70
Ivan Mahonin cece70

Возвращает синюю составляющую цвета. См. также colorByRGBA.

Ivan Mahonin cece70
Ivan Mahonin cece70

double colorGetAlpha(unsigned int colorCode);

Ivan Mahonin cece70
Ivan Mahonin cece70

Возвращает степень непрозрачности цвета — альфа-канал. См. также colorByRGBA.

Ivan Mahonin cece70
Ivan Mahonin cece70

double colorGetHue(unsigned int colorCode);

Ivan Mahonin cece70
Ivan Mahonin cece70

Возвращает цветовой оттенок в градусах на цветовом круге, от 0 до 360 в системе HSV. См. также colorByHSV.

Ivan Mahonin cece70
Ivan Mahonin cece70

double colorGetSaturation(unsigned int colorCode);

Ivan Mahonin cece70
Ivan Mahonin cece70

Возвращает цветность (цветовую насыщенность) для выбранного цвета в системе HSV. См. также colorByHSV.

Ivan Mahonin cece70
Ivan Mahonin cece70

double colorGetValue(unsigned int colorCode);

Ivan Mahonin cece70
Ivan Mahonin cece70

Возвращает яркость для выбранного цвета в системе HSV. См. также colorByHSV.

Ivan Mahonin cece70
Ivan Mahonin cece70

double colorGetYLuminance(unsigned int colorCode);

Ivan Mahonin cece70
Ivan Mahonin cece70

Возвращает яркость для выбранного цвета в системе YUV. См. также colorByYUV.

Ivan Mahonin cece70
Ivan Mahonin cece70

double colorGetUChromanance(unsigned int colorCode);

Ivan Mahonin cece70
Ivan Mahonin cece70

Возвращает цветоразностный компонент U для выбранного цвета в системе YUV. См. также colorByYUV.

Ivan Mahonin cece70
Ivan Mahonin cece70

double colorGetVChromanance(unsigned int colorCode);

Ivan Mahonin 7a004b
Ivan Mahonin cece70

Возвращает цветоразностный компонент V для выбранного цвета в системе YUV. См. также colorByYUV.

Ivan Mahonin 7a004b
Ivan Mahonin cece70

void background(unsigned int colorCode);

Ivan Mahonin cece70
Ivan Mahonin cece70

Установить цвет фона. Начиная со следующего все кадры будут рисоваться на выбранном фоне. Также влияет на поведение функции clear.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin cece70

colorCode — код цвета.

Ivan Mahonin cece70
Ivan Mahonin cece70

void clear();

Ivan Mahonin 7a004b
Ivan Mahonin cece70

Заполняет все пиксели цветом фона. См. также background.

Ivan Mahonin 7a004b
Ivan Mahonin cece70

void fill(unsigned int colorCode);

Ivan Mahonin 7a004b
Ivan Mahonin cece70

Установить цвет заливки. После вызова этой функции все фигуры будут заполняться выбранным цветом. См. также stroke, noFill и fillTexture.

Ivan Mahonin 7a004b
Ivan Mahonin cece70

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin cece70

colorCode — код цвета.

Ivan Mahonin 7a004b
Ivan Mahonin cece70

void fillTexture(Animation animation, double x, double y, double width, diuble height, int fixed);

Ivan Mahonin cece70
Ivan Mahonin cece70

Установить заливку текстурой. После вызова этой функции все фигуры будут заполняться выбранной текстурой. Для заливки текстурой определяется базовый прямоугольник (по координатам x, y, width, height) в который будет смасштабировано изображение текстуры. Если текстура повторяющаяся, то её копии будут распространяться и за пределами базового прямоугольника. При помощи параметра fixed вы можете зафиксировать базовый прямоугольник текстуры в текущих координатах так, что на них в не будут влиять последующие трансформации перемещения (translate), вращения (rotate) и масштабирования (scale и zoom). См. также fill, noFill и раздел «Текстуры и анимация».

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin cece70

animation — анимированная или статическая текстура;

Ivan Mahonin cece70
x, y — координаты верхнего левого угла базового прямоугольника текстуры;
Ivan Mahonin cece70
width — ширина базового прямоугольника текстуры;
Ivan Mahonin cece70
height — ширина базового прямоугольника текстуры;
Ivan Mahonin cece70
fixed — если TRUE (1 или любое другое число кроме 0), то фиксирует прямоугольник текстуры в текущих координатах — операции трансформации на него не влияют.

Ivan Mahonin cece70
Ivan Mahonin cece70

void noFill();

Ivan Mahonin cece70
Ivan Mahonin cece70

Отключить заливку фигур. После вызова этой функции все фигуры будут рисоваться без заполнения. См. также fill, fillTexture, saveState и restoreState.

Ivan Mahonin cece70
Ivan Mahonin cece70

void stroke(unsigned int colorCode);

Ivan Mahonin cece70
Ivan Mahonin cece70

Установить цвет контура. После вызова этой функции все фигуры будут рисоваться с контуром выбранного цвета. Также эта функция задаёт цвет рисования текста. См. также fill, noStroke. и раздел «Шрифты и текст».

Ivan Mahonin cece70
Ivan Mahonin cece70

Параметры:

Ivan Mahonin cece70
Ivan Mahonin cece70

colorCode — код цвета.

Ivan Mahonin cece70
Ivan Mahonin cece70

void strokeTexture(Animation animation, double x, double y, double width, diuble height, int fixed);

Ivan Mahonin cece70
Ivan Mahonin cece70

Установить заливку текстурой для контура. После вызова этой функции все фигуры будут заполняться выбранной текстурой. Для заливки текстурой определяется базовый прямоугольник (по координатам x, y, width, height) в который будет смасштабировано изображение текстуры. Если текстура повторяющаяся, то её копии будут распространяться и за пределами базового прямоугольника. При помощи параметра fixed вы можете зафиксировать базовый прямоугольник текстуры в текущих координатах так, что на них в не будут влиять последующие трансформации перемещения (translate), вращения (rotate) и масштабирования (scale и zoom). См. также stroke, noStroke и раздел «Текстуры и анимация».

Ivan Mahonin cece70
Ivan Mahonin cece70

Параметры:

Ivan Mahonin cece70
Ivan Mahonin cece70

animation — анимированная или статическая текстура;

Ivan Mahonin cece70
x, y — координаты верхнего левого угла базового прямоугольника текстуры;
Ivan Mahonin cece70
width — ширина базового прямоугольника текстуры;
Ivan Mahonin cece70
height — ширина базового прямоугольника текстуры;
Ivan Mahonin cece70
fixed — если TRUE (1 или любое другое число кроме 0), то фиксирует прямоугольник текстуры в текущих координатах — операции трансформации на него не влияют.

Ivan Mahonin cece70
Ivan Mahonin cece70

void noStroke();

Ivan Mahonin cece70
Ivan Mahonin cece70

Отключить рисование контура. После вызова этой функции все фигуры будут рисоваться без прорисовки контура. См. также stroke, strokeTexture, saveState и restoreState.

Ivan Mahonin cece70
Ivan Mahonin cece70

Важно: Так как текст рисуется цветом контура, эта функция полностью отключает вывод текста.

Ivan Mahonin cece70
Ivan Mahonin cece70

void strokeWidth(double width);

Ivan Mahonin cece70
Ivan Mahonin cece70

Установить толщину линий и контуров. После вызова этой функции все линии и контуры будут рисоваться с заданной толщиной. Изначально толщина равна 1.

Ivan Mahonin cece70
Ivan Mahonin cece70

Параметры:

Ivan Mahonin cece70
Ivan Mahonin cece70

width — толщина линии.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

void moveTo(double x, double y);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Начать рисование новой фигуры, и задать начальное положение пера. Перед запуском этой функции убедитесь что вы завершили рисование предыдущей фигуры функцией closePath или strokePath.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

x, y — координаты в которые будет помещено перо.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

void lineTo(double x, double y);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Наметить линию от текущих координат пера до заданной точки, а также перевести перо в указанною точку. Настоящая линия будет нарисована позже при помощи функции closePath или strokePath. См. также функцию moveTo.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Важно: если положение пера не было задано, то линия не намечается, вместо этого просто задаётся начальное положение пера.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

void resetPath();

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Убрать все намеченные функцией lineTo или arcPath линии и отменить их рисование. Положение пера также забывается.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

void closePath();

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Завершить контур соединив начальную и конечную точки линией и нарисовать заполненную фигуру с контуром. Цвета заполнения и контура задаются функциями fill и stroke. См. также функции moveTo и lineTo. После вывода фигуры на экран положение пера и все намеченные линии забываются.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

void strokePath();

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Нарисовать ранее намеченные линии. В отличии от функции closePath, данная функция не соединяет начальную и конечную точки, а просто рисует только те линии которые были намечены. Цвет контура задаётся функцией stroke, а вот заполнение цветом не производится. После вывода намеченных линий на экран, их расположение и позиция пера забываются.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

void rect(double x, double y, double width, double height);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Нарисовать прямоугольник. Цвета заполнения и контура задаются заранее функциями fill и stroke.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

x, y — координаты левого верхнего угла прямоугольника;

Ivan Mahonin 7a004b
width — ширина прямоугольника;
Ivan Mahonin 7a004b
height — высота прямоугольника.

Ivan Mahonin 7a004b
Ivan Mahonin cece70

void rectTextured(Animation animation, double x, double y, double width, double height);

Ivan Mahonin cece70
Ivan Mahonin cece70

Нарисовать прямоугольник и заполнить его выбранной текстурой. Цвет контура задаётся заранее функцией stroke. См. также функции rect, fillTexture, strokeTexture и раздел «Текстуры и анимация».

Ivan Mahonin cece70
Ivan Mahonin cece70

Параметры:

Ivan Mahonin cece70
Ivan Mahonin cece70

animation — анимированная или статическая текстура;

Ivan Mahonin cece70
x, y — координаты левого верхнего угла прямоугольника;
Ivan Mahonin cece70
width — ширина прямоугольника;
Ivan Mahonin cece70
height — высота прямоугольника.

Ivan Mahonin cece70
Ivan Mahonin 7a004b

void ellipse(double x, double y, double width, double height);

Ivan Mahonin 7a004b
Ivan Mahonin 788bd9

Нарисовать эллипс. Эллипс рисуется таким чтобы от вписался в ограничивающий прямоугольник (см. функцию rect). Следовательно для того чтобы нарисовать окружность нужно передать одинаковую ширину и высоту ограничивающего прямоугольника. Цвета заполнения и контура задаются заранее функциями fill и stroke. См. также circle.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

x, y — координаты левого верхнего угла ограничивающего прямоугольника;

Ivan Mahonin 7a004b
width — ширина ограничивающего прямоугольника;
Ivan Mahonin 7a004b
height — высота ограничивающего прямоугольника.

Ivan Mahonin 7a004b
Ivan Mahonin 788bd9

void circle(double x, double y, double radius);

Ivan Mahonin 788bd9
Ivan Mahonin 788bd9

Нарисовать круг заданного радиуса с центром в указанной точке. Цвета заполнения и контура задаются заранее функциями fill и stroke. См. также ellipse.

Ivan Mahonin 788bd9
Ivan Mahonin 788bd9

Параметры:

Ivan Mahonin 788bd9
Ivan Mahonin 788bd9

x, y — координаты центра;

Ivan Mahonin 788bd9
radius — радиус.

Ivan Mahonin 788bd9
Ivan Mahonin 7a004b

void arc(double x, double y, double w, double h, double start, double stop);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Нарисовать дугу эллипса заданного ограничивающим прямоугольником. Дуга задаётся значением начального и конечного угла. Цвет линии задаётся функцией stroke.

Ivan Mahonin 7a004b
Ivan Mahonin cece70

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

x, y — координаты левого верхнего угла ограничивающего прямоугольника;

Ivan Mahonin 7a004b
width — ширина ограничивающего прямоугольника;
Ivan Mahonin 7a004b
height — высота ограничивающего прямоугольника;
Ivan Mahonin 7a004b
start — начальный угол в градусах;
Ivan Mahonin 7a004b
end — конечный угол в градусах.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

void arcPath(double x, double y, double w, double h, double start, double stop);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Наметить дугу эллипса заданного ограничивающим прямоугольником так как если бы она рисовалась функциями moveTo и lineTo. Дуга задаётся значением начального и конечного угла. Окончательное рисование будет выполнено после вызова функции closePath или strokePath.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

x, y — координаты левого верхнего угла ограничивающего прямоугольника;

Ivan Mahonin 7a004b
width — ширина ограничивающего прямоугольника;
Ivan Mahonin 7a004b
height — высота ограничивающего прямоугольника;
Ivan Mahonin 7a004b
start — начальный угол в градусах;
Ivan Mahonin 7a004b
end — конечный угол в градусах.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

void line(double x1, double y1, double x2, double y2);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Провести прямую линию от первой указанной точки до второй. Цвет линии задаётся функцией stroke.

Ivan Mahonin 7a004b
Ivan Mahonin cece70

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

x1, y1 — координаты первой точки;

Ivan Mahonin 7a004b
x2, y2 — координаты второй точки.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

void point(double x, double y);

Ivan Mahonin 7a004b
Ivan Mahonin cece70

Нарисовать точку в указанных координатах. Цвет задаётся функцией stroke. Диаметр точки задаётся функцией strokeWidth.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

x, y — координаты точки.

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

void regularPolygon(double x, double y, int sides, double size);

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

Нарисовать правильный многоугольник заданного размера с центром в указанной точке. Цвета заполнения и контура задаются функциями fill и stroke.

Ivan Mahonin 7a004b
Ivan Mahonin cece70

Параметры:

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b

x, y — координаты центра многоугольника;

Ivan Mahonin 7a004b
sides — количество сторон;
Ivan Mahonin 7a004b
size — размер многоугольника — диаметр описанной окружности.

Ivan Mahonin 7a004b
Ivan Mahonin cece70

void translate(double x, double y);

Ivan Mahonin cece70
Ivan Mahonin cece70

Задать смещение системы координат. После вызова этой функции все объекты будут рисоваться с заданным смещением. Смещение производится относительно действующей в данный момент системы координат. См. также rotate, scale и noTransform.

Ivan Mahonin cece70
Ivan Mahonin cece70

void rotate(double angle);

Ivan Mahonin cece70
Ivan Mahonin cece70

Повернуть текущую систему координат на заданный угол (angle) в градусах. См. также translate, scale и noTransform.

Ivan Mahonin cece70
Ivan Mahonin cece70
Ivan Mahonin cece70

void zoom(double z);

Ivan Mahonin cece70
Ivan Mahonin cece70

Смасштабировать текущую систему координат на заданный коэффициент (z). Эквивалентно вызову scale(z, z). См. также translate, rotate, scale и noTransform.

Ivan Mahonin cece70
Ivan Mahonin cece70

void scale(double x, double y);

Ivan Mahonin cece70
Ivan Mahonin cece70

Смасштабировать (растянуть) текущую систему координат на заданные коэффициенты по осям x и y. См. также translate, rotate и noTransform.

Ivan Mahonin cece70
Ivan Mahonin cece70

void noTransform();

Ivan Mahonin cece70
Ivan Mahonin cece70

Отменяет все преобразования системы координат заданные функциями translate, rotate, scale и zoom. См. также saveState и restoreState.

Ivan Mahonin cece70
Ivan Mahonin cece70

void clipRect(double x, double y, double width, double height);

Ivan Mahonin cece70
Ivan Mahonin cece70

Задаёт прямоугольник отсечения. Все последующие операции рисования будут выполнены только внутри заданного прямоугольника. Всё что было нарисовано ранее за его пределами останется неизменным. Повторный вызов функции заменяет (а не дополняет) ранее заданную область отсечения. Если вы знакомы с OpenGL, вам будет полезно знать, что данная функция просто задаёт четыре плоскости отсечения (glClipPlane). Область отсечения применяется со всеми действующими в момент вызова функции преобразованиями системы координат, таким образом она может быть на экране не прямоугольной, а, например, иметь форму параллелограмма. См. также noClip.

Ivan Mahonin cece70
Ivan Mahonin cece70

void noClip();

Ivan Mahonin cece70
Ivan Mahonin cece70

Отменяет область отсечения заданную функцией clipRect. См. также saveState и restoreState.

Ivan Mahonin cece70
Ivan Mahonin cece70

void resetState();

Ivan Mahonin cece70
Ivan Mahonin cece70

Сбрасывает состояние инструментов рисования к их начальным значениям. Эквивалентно вызову resetStateEx(STATE_ALL). См. также saveState и restoreState.

Ivan Mahonin cece70
Ivan Mahonin cece70

void resetStateEx(unsigned int flags);

Ivan Mahonin cece70
Ivan Mahonin cece70

Сбрасывает выбранные состояния инструментов рисования к их начальным значениям. Аргумент flags определяет перечень состояний которые необходимо сбросить. Значение для него можно вычислить объединив операцией побитового «или» (вертикальная черта: |) несколько флагов из следующего списка:

Ivan Mahonin cece70
Ivan Mahonin cece70
Ivan Mahonin cece70
  
Ivan Mahonin cece70
    STATE_FILL_COLOR
Ivan Mahonin cece70
    цвет заполнения, см. fill
Ivan Mahonin cece70
  
Ivan Mahonin cece70
  
Ivan Mahonin cece70
    STATE_FILL_TEXTURE
Ivan Mahonin cece70
    текстура заполнения, см. fillTexture
Ivan Mahonin cece70
  
Ivan Mahonin cece70
  
Ivan Mahonin cece70
    STATE_STROKE_COLOR
Ivan Mahonin cece70
    цвет обводки, см. stroke
Ivan Mahonin cece70
  
Ivan Mahonin cece70
  
Ivan Mahonin cece70
    STATE_STROKE_TEXTURE
Ivan Mahonin cece70
    текстура обводки, см. strokeTexture
Ivan Mahonin cece70
  
Ivan Mahonin cece70
  
Ivan Mahonin cece70
    STATE_STROKE_WIDTH
Ivan Mahonin cece70
    толщина обводки, см. strokeWidth
Ivan Mahonin cece70
  
Ivan Mahonin cece70
  
Ivan Mahonin cece70
    STATE_TEXT_ALIGN
Ivan Mahonin cece70
    расположение текста, см. textAlign
Ivan Mahonin cece70
  
Ivan Mahonin cece70
  
Ivan Mahonin cece70
    STATE_TEXT_SIZE
Ivan Mahonin cece70
    размер шрифта, см. textSize
Ivan Mahonin cece70
  
Ivan Mahonin cece70
  
Ivan Mahonin cece70
    STATE_TEXT_FONT
Ivan Mahonin cece70
    шрифт, см. textFont
Ivan Mahonin cece70
  
Ivan Mahonin cece70
  
Ivan Mahonin cece70
    STATE_TARGET_FRAMEBUFFER
Ivan Mahonin cece70
    выбранный буфер кадра, см. target
Ivan Mahonin cece70
  
Ivan Mahonin cece70
  
Ivan Mahonin cece70
    STATE_TARGET_VIEWPORT
Ivan Mahonin cece70
    текущая область рисования, см. viewportByFramebuffer, viewportByWindow
Ivan Mahonin cece70
  
Ivan Mahonin cece70
  
Ivan Mahonin cece70
    STATE_TARGET_PROJECTION
Ivan Mahonin cece70
    текущая матрица проекции, см. projectionByViewport
Ivan Mahonin cece70
  
Ivan Mahonin cece70
  
Ivan Mahonin cece70
    STATE_BACKGROUND
Ivan Mahonin cece70
    цвет очистки экрана (цвет фона), см. baclground
Ivan Mahonin cece70
  
Ivan Mahonin cece70
  
Ivan Mahonin cece70
    STATE_TRANSFORM
Ivan Mahonin cece70
    преобразования системы координат, см. translate, rotate, scale, zoom
Ivan Mahonin cece70
  
Ivan Mahonin cece70
  
Ivan Mahonin cece70
    STATE_CLIP
Ivan Mahonin cece70
    область отсечения, см. clipRect
Ivan Mahonin cece70
  
Ivan Mahonin cece70
  
Ivan Mahonin cece70
    
Ivan Mahonin cece70
    
Ivan Mahonin cece70
  
Ivan Mahonin cece70
  
Ivan Mahonin cece70
    STATE_FILL
Ivan Mahonin cece70
    объединение флагов STATE_FILL_*
Ivan Mahonin cece70
  
Ivan Mahonin cece70
  
Ivan Mahonin cece70
    STATE_STROKE
Ivan Mahonin cece70
    объединение флагов STATE_STROKE_*
Ivan Mahonin cece70
  
Ivan Mahonin cece70
  
Ivan Mahonin cece70
    STATE_TEXT
Ivan Mahonin cece70
    объединение флагов STATE_TEXT_*
Ivan Mahonin cece70
  
Ivan Mahonin cece70
  
Ivan Mahonin cece70
    STATE_TARGET
Ivan Mahonin cece70
    объединение флагов STATE_TARGET_*
Ivan Mahonin cece70
  
Ivan Mahonin cece70
  
Ivan Mahonin cece70
    STATE_ALL
Ivan Mahonin cece70
    объединение всех флагов
Ivan Mahonin cece70
  
Ivan Mahonin cece70
Ivan Mahonin cece70
Ivan Mahonin cece70
Ivan Mahonin cece70

void saveState();

Ivan Mahonin cece70
Ivan Mahonin cece70

Запоминает состояние всех инструментов рисования для того чтобы впоследствии к ним вернуться вызвав функцию restoreState. Функция может быть вызвана несколько раз чтобы запомнить несколько состояний, при этом позже необходимо будет выполнить соответствующее количество вызовов функции restoreState. Обращение в данной функции эквивалентно вызову saveStateEx(STATE_ALL). См. также resetState.

Ivan Mahonin cece70
Ivan Mahonin cece70

void saveStateEx(unsigned int flags);

Ivan Mahonin cece70
Ivan Mahonin cece70

Запоминает выбранные состояния инструментов рисования для того чтобы впоследствии к ним вернуться вызвав функцию restoreState. Функция может быть вызвана несколько раз, при этом позже необходимо будет выполнить соответствующее количество вызовов функции restoreState. Аргумент flags определяет перечень состояний которые необходимо запомнить. Значение для него можно вычислить объединив операцией побитового «или» (вертикальная черта: |) несколько флагов из списка представленного в описании функции resetState.

Ivan Mahonin cece70
См. также saveState.

Ivan Mahonin cece70
Ivan Mahonin cece70

void restoreState();

Ivan Mahonin cece70
Ivan Mahonin cece70

Восстанавливает состояния инструментов рисования ранее сохранённые функцией saveState или saveStateEx. Если функция saveState (или saveStateEx) была вызвана несколько раз, то чтобы вернуться к первоначальному состоянию нужно вызвать restoreState аналогичное количество раз. См. также resetState.

Ivan Mahonin cece70
Ivan Mahonin cece70

Важно: следите за тем чтобы количество сохранений (saveState или saveStateEx) всегда совпадало с количеством восстановлений (restoreState).

Ivan Mahonin 7a004b
Ivan Mahonin 7a004b
Ivan Mahonin 7a004b
</body>
Ivan Mahonin 7a004b
</html>