Processing:Примеры/Применение функции createGraphics(): различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) Нет описания правки |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 3: | Строка 3: | ||
{{Перевод от Сubewriter}} | {{Перевод от Сubewriter}} | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=Описание<ref>[https://processing.org/examples/creategraphics.html processing.org - Create Graphics]</ref>= | =Описание<ref>[https://processing.org/examples/creategraphics.html processing.org - Create Graphics]</ref>= | ||
Строка 51: | Строка 49: | ||
}} | }} | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
PGraphics pg; | PGraphics pg; | ||
Версия от 13:57, 5 февраля 2023
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Описание[1]
Функция createGraphics() создает объект на основе класса PGraphics. Класс PGraphics – это главный графический и рендеринговый контекст в Processing. Нам понадобятся методы beginDraw() для подготовки PGraphics к рисованию и endDraw() для завершения рисования. Используйте класс PGraphics, когда вам нужно нарисовать графику в буфер, находящийся за пределами экрана, или работать с двумя контекстами с разными свойствами.
Пример
PGraphics pg;
void setup() {
size(640, 360);
pg = createGraphics(400, 200);
}
void draw() {
fill(0, 12);
rect(0, 0, width, height);
fill(255);
noStroke();
ellipse(mouseX, mouseY, 60, 60);
pg.beginDraw();
pg.background(51);
pg.noFill();
pg.stroke(255);
pg.ellipse(mouseX-120, mouseY-60, 60, 60);
pg.endDraw();
// при помощи метода image() рисуем на экране
// содержимое буфера, находящегося за пределами экрана:
image(pg, 120, 60);
}
{{#set: Код примера= PGraphics pg;
void setup() {
size(640, 360); pg = createGraphics(400, 200);
}
void draw() {
fill(0, 12); rect(0, 0, width, height); fill(255); noStroke(); ellipse(mouseX, mouseY, 60, 60); pg.beginDraw(); pg.background(51); pg.noFill(); pg.stroke(255); pg.ellipse(mouseX-120, mouseY-60, 60, 60); pg.endDraw(); // при помощи метода image() рисуем на экране // содержимое буфера, находящегося за пределами экрана: image(pg, 120, 60);
} }}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |