Processing:Справочник языка Processing/createGraphics(): различия между версиями
Myagkij (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
Строка 4: | Строка 4: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
= createGraphics() <ref>[https://processing.org/reference/createGraphics_.html processing.org - createGraphics()]</ref>= | = createGraphics() <ref>[https://processing.org/reference/createGraphics_.html processing.org - createGraphics()]</ref>= | ||
Строка 10: | Строка 10: | ||
==Обозначение== | ==Обозначение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
createGraphics() | createGraphics() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 28: | Строка 28: | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
createGraphics(w, h) | createGraphics(w, h) | ||
createGraphics(w, h, renderer) | createGraphics(w, h, renderer) | ||
Строка 36: | Строка 36: | ||
==Параметры== | ==Параметры== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
w – ширина изображения (в пикселях). Тип данных – int | w – ширина изображения (в пикселях). Тип данных – int | ||
h – высота изображения (в пикселях). Тип данных – int | h – высота изображения (в пикселях). Тип данных – int | ||
Строка 45: | Строка 45: | ||
==Возвращаемое значение== | ==Возвращаемое значение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
Тип данных – объект PGraphics. | Тип данных – объект PGraphics. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 51: | Строка 51: | ||
==Пример== | ==Пример== | ||
<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; | ||
Строка 90: | Строка 90: | ||
|Высота логотипа издателя для schemaNewsArticle=45 | |Высота логотипа издателя для schemaNewsArticle=45 | ||
}} | }} | ||
{{Навигационная таблица/ | {{Навигационная таблица/Портал/Processing}} |
Версия от 12:08, 20 мая 2023
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
createGraphics() [1]
Обозначение
createGraphics()
Описание
Создает и возвращает новый объект PGraphics. Используйте этот класс, если вам необходимо нарисовать что-то в графический буфер, находящийся за пределами экрана. Первые два параметра задают ширину и высоту объекта (в пикселях). В третьем (опциональном) параметре задается визуализатор – P2D, P3D или PDF. Если третий параметр не задан, метод воспользуется визуализатором по умолчанию. Визуализатору PDF также требуется параметр filename.
Важно, чтобы визуализатор в createGraphics() соответствовал главному визуализатору, заданному в size(). К примеру, если в size() задан визуализатор P2D или P3D, то в createGraphics() можно использовать только их. В отличие от Processing 1.0, визуализаторы P2D и P3D используют для рисования OpenGL, а когда вы используете визуализатор OpenGL, необходимо, чтобы главная поверхность изображения тоже была на базе OpenGL. Если в методе size() в качестве визуализатора используются P2D или P3D, то их можно использовать и в createGraphics(). Если в size() используется визуализатор по умолчанию, то в createGraphics() может быть использован только визуализатор по умолчанию или PDF.
Важно помнить, что все рисующие функции должны вызываться внутри блока из методов beginDraw() и endDraw(). Это касается и всех методов, влияющих на изображение – вроде smooth() или colorMode().
Метод createGraphics() почти во всех случаях нельзя использовать внутри draw(), т.к. это расходует лишнюю память и время, используемые на рисование графики. Одноразовое или случайное использование createGraphics() внутри draw() – это приемлемо, но код, который вызывает createGraphics() 60 раз в секунду быстро израсходует память, из-за чего ваш скетч попросту зависнет.
В отличие от главной поверхности изображения, которая полностью непрозрачна, изображения, создаваемые при помощи createGraphics(), могут быть прозрачными. Это значит, что вы можете не только нарисовать внутри них какую-то графику, но и задать альфа-канал. Информация о прозрачности будет сохранена и при записи графического объекта в формат PNG или TGA при помощи метода save().
Синтаксис
createGraphics(w, h)
createGraphics(w, h, renderer)
createGraphics(w, h, renderer, filename)
Параметры
w – ширина изображения (в пикселях). Тип данных – int
h – высота изображения (в пикселях). Тип данных – int
renderer – используемый визуализатор (P2D, P3D или PDF). Тип данных – String
filename – название файла (может быть абсолютным или относительным путем). Тип данных – String
Возвращаемое значение
Тип данных – объект PGraphics.
Пример
PGraphics pg;
void setup() {
size(200, 200);
pg = createGraphics(100, 100);
}
void draw() {
pg.beginDraw();
pg.background(102);
pg.stroke(255);
pg.line(pg.width*0.5, pg.height*0.5, mouseX, mouseY);
pg.endDraw();
image(pg, 50, 50);
}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |