|
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>
|