Blame doc/ru/drawing.html

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

Helianthus

7a004b
  

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

7a004b
  

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

7a004b
  

Рисование

7a004b
  

Спрайты

7a004b
  

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

7a004b
  

Камера

7a004b
  

Звук

7a004b
  
7a004b
  

Все функции

7a004b
7a004b
7a004b
7a004b

Рисование

7a004b
7a004b

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

7a004b
7a004b

Для указания цвета используется его текстовое наименование.

7a004b
Вот список наименований:
7a004b
    "transparent",
7a004b
    "black",
7a004b
    "white",
7a004b
    "gray",
7a004b
    "red",
7a004b
    "green",
7a004b
    "blue",
7a004b
    "yellow",
7a004b
    "magenta",
7a004b
    "cyan",
7a004b
    "yellow",
7a004b
    "magenta",
7a004b
    "cyan",
7a004b
    "brown".

7a004b
7a004b

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

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

7a004b
7a004b

Вы можете сгенерировать текстовое наименования для любого цвета по его числовым составляющим при помощи функций rgb и rgba.

7a004b
7a004b

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

7a004b
7a004b
7a004b
fill("red");
7a004b
stroke("black");
7a004b
strokeWeight(10);
7a004b
moveTo(100, 300);
7a004b
lineTo(300, 300);
7a004b
lineTo(50, 200);
7a004b
closePath();
7a004b
7a004b
7a004b
7a004b

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

7a004b
7a004b

Для вывода текста используются функции text, textAlign, textFont и textSize. Смотрите их описание ниже.

7a004b
7a004b

Функции:

7a004b
7a004b

void background(const char *color);

7a004b
7a004b

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

7a004b
7a004b

Параметры:

7a004b
7a004b

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

7a004b
7a004b

void fill(const char *color);

7a004b
7a004b

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

7a004b
7a004b

Параметры:

7a004b
7a004b

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

7a004b
7a004b

void noFill();

7a004b
7a004b

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

7a004b
7a004b

void stroke(const char *color);

7a004b
7a004b

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

7a004b
7a004b

Параметры:

7a004b
7a004b

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

7a004b
7a004b

void noStroke();

7a004b
7a004b

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

7a004b
7a004b

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

7a004b
7a004b

void strokeWeight(double weight);

7a004b
7a004b

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

7a004b
7a004b

Параметры:

7a004b
7a004b

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

7a004b
7a004b

char* rgb(double r, double g, double b);

7a004b
7a004b

Функция возвращает текстовое наименование цвета для заданных числовых значений яркости красной, зелёной и синей составляющих.

7a004b
7a004b

Параметры:

7a004b
7a004b

r — яркость красной составляющей цвета, дробное число от 0 до 1;

7a004b
g — яркость зелёной составляющей цвета, дробное число от 0 до 1;
7a004b
b — яркость синей составляющей цвета, дробное число от 0 до 1.

7a004b
7a004b

char* rgba(double r, double g, double b, double a);

7a004b
7a004b

Функция возвращает текстовое наименование цвета для заданных числовых значений яркости красной, зелёной и синей составляющих, а также прозрачности.

7a004b
7a004b

Параметры:

7a004b
7a004b

r — яркость красной составляющей цвета, дробное число от 0 до 1;

7a004b
g — яркость зелёной составляющей цвета, дробное число от 0 до 1;
7a004b
b — яркость синей составляющей цвета, дробное число от 0 до 1;
7a004b
a — прозрачность, дробное число от 0 до 1, при этом 0 — цвет полностью прозрачный, 1 — цвет непрозрачный.

7a004b
7a004b

void moveTo(double x, double y);

7a004b
7a004b

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

7a004b
7a004b

Параметры:

7a004b
7a004b

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

7a004b
7a004b

void lineTo(double x, double y);

7a004b
7a004b

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

7a004b
7a004b

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

7a004b
7a004b

void resetPath();

7a004b
7a004b

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

7a004b
7a004b

void closePath();

7a004b
7a004b

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

7a004b
7a004b

void strokePath();

7a004b
7a004b

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

7a004b
7a004b

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

7a004b
7a004b

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

7a004b
7a004b

Параметры:

7a004b
7a004b

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

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

7a004b
7a004b

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

7a004b
7a004b

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

7a004b
7a004b

Параметры:

7a004b
7a004b

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

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

7a004b
7a004b

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

7a004b
7a004b

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

7a004b
7a004b

Параметры:

7a004b
7a004b

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

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

7a004b
7a004b

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

7a004b
7a004b

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

7a004b
7a004b

Параметры:

7a004b
7a004b

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

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

7a004b
7a004b

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

7a004b
7a004b

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

7a004b
7a004b

Параметры:

7a004b
7a004b

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

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

7a004b
7a004b

void point(double x, double y);

7a004b
7a004b

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

7a004b
7a004b

Параметры:

7a004b
7a004b

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

7a004b
7a004b

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

7a004b
7a004b

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

7a004b
7a004b

Параметры:

7a004b
7a004b

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

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

7a004b
7a004b

void text(const char *text, double x, double y);

7a004b
7a004b

Вывести текст в заданной точке. Расположение текста относительно указанной точки задаётся функцией textAlign. Шрифи и размер задаются функциями textFont и textSize. Цвет текста задаётся функцией stroke.

7a004b
7a004b

Параметры:

7a004b
7a004b

text — текст для вывода;

7a004b
x, y — координаты начальной точки.

7a004b
7a004b

void textAlign(HAlign hor, VAlign vert);

7a004b
7a004b

Установить расположение текста относительно начальной точки (см. функцию text)

7a004b
7a004b

Параметры:

7a004b
7a004b

hor — горизонтальное расположение начальной точки текста, может принимать значения:

7a004b
    HALIGN_LEFT — начальная точка находится по левому краю текста;
7a004b
    HALIGN_CENTER — начальная точка находится в середине текста;
7a004b
    HALIGN_RIGHT — начальная точка находится по правому краю текста.
7a004b
vert — вертикальное расположение начальной точки текста, может принимать значения:
7a004b
    VALIGN_TOP — начальная точка находится по верхнему краю текста;
7a004b
    VALIGN_CENTER — начальная точка находится в середине текста;
7a004b
    VALIGN_BOTTOM — начальная точка находится по нижнему краю текста.

7a004b
7a004b

void textFont(const char *font);

7a004b
7a004b

Установить шрифт для текста (см. функцию text). Указанный шрифт должен быть установлен в системе. Можете посмотреть списки шрифтов в любом установленном на вашем компьютере текстовом редакторе.

7a004b
7a004b

Параметры:

7a004b
7a004b

font — текстовое наименование шрифта.

7a004b
7a004b

void textSize(double size);

7a004b
7a004b

Установить размер текста (см. функцию text).

7a004b
7a004b

Параметры:

7a004b
7a004b

size — размер текста в пикселях.

7a004b
7a004b
7a004b
7a004b