Processing:Справочник языка Processing/createGraphics(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
 
Нет описания правки
 
(не показаны 2 промежуточные версии 2 участников)
Строка 1: Строка 1:
{{Processing панель перехода}}
{{Processing панель перехода}}
{{Перевод от Сubewriter}}
{{Перевод от Сubewriter}}
{{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: Строка 7:
==Обозначение==
==Обозначение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
createGraphics()
createGraphics()
</syntaxhighlight>
</syntaxhighlight>
Строка 18: Строка 15:
Создает и возвращает новый объект PGraphics. Используйте этот класс, если вам необходимо нарисовать что-то в графический буфер, находящийся за пределами экрана. Первые два параметра задают ширину и высоту объекта (в пикселях). В третьем (опциональном) параметре задается визуализатор – P2D, P3D или PDF. Если третий параметр не задан, метод воспользуется визуализатором по умолчанию. Визуализатору PDF также требуется параметр filename.
Создает и возвращает новый объект 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.
Важно, чтобы визуализатор в createGraphics() соответствовал главному визуализатору, заданному в [[Processing:Справочник языка Processing/size()|size()]]. К примеру, если в [[Processing:Справочник языка Processing/size()|size()]] задан визуализатор P2D или P3D, то в createGraphics() можно использовать только их. В отличие от Processing 1.0, визуализаторы P2D и P3D используют для рисования [[OpenGL]], а когда вы используете визуализатор [[OpenGL]], необходимо, чтобы главная поверхность изображения тоже была на базе [[OpenGL]]. Если в методе [[Processing:Справочник языка Processing/size()|size()]] в качестве визуализатора используются P2D или P3D, то их можно использовать и в createGraphics(). Если в [[Processing:Справочник языка Processing/size()|size()]] используется визуализатор по умолчанию, то в createGraphics() может быть использован только визуализатор по умолчанию или PDF.


Важно помнить, что все рисующие функции должны вызываться внутри блока из методов beginDraw() и endDraw(). Это касается и всех методов, влияющих на изображение – вроде smooth() или colorMode().
Важно помнить, что все рисующие функции должны вызываться внутри блока из методов beginDraw() и endDraw(). Это касается и всех методов, влияющих на изображение – вроде smooth() или colorMode().
Строка 28: Строка 25:
==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
createGraphics(w, h)
createGraphics(w, h)
createGraphics(w, h, renderer)
createGraphics(w, h, renderer)
Строка 36: Строка 33:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
w        – ширина изображения (в пикселях). Тип данных – int
w        – ширина изображения (в пикселях). Тип данных – int
h        – высота изображения (в пикселях). Тип данных – int
h        – высота изображения (в пикселях). Тип данных – int
Строка 45: Строка 42:
==Возвращаемое значение==
==Возвращаемое значение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
Тип данных – объект PGraphics.
Тип данных – объект PGraphics.
</syntaxhighlight>
</syntaxhighlight>
Строка 51: Строка 48:
==Пример==
==Пример==


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
PGraphics pg;
PGraphics pg;


Строка 74: Строка 71:


<references />
<references />
{{SEO
 
|Заголовок статьи=Processing: createGraphics() / Онлайн справочник - wikihandbk.com
{{Навигационная таблица/Портал/Processing}}
|Ключевые слова=processing, createGraphics(),createGraphics() processing, processing createGraphics()
|Описание статьи= 
|Изображение статьи для Open Graph=
|Адрес страницы для schemaNewsArticle=<nowiki>http://wikihandbk.com/wiki/Processing:Справочник языка Processing/createGraphics()</nowiki>
|Изображение статьи для schemaNewsArticle=<nowiki></nowiki>
|Высота изображения статьи для schemaNewsArticle=
|Ширина изображения статьи для schemaNewsArticle=
|Дата публикации для schemaNewsArticle=2018-07-16
|Автор=Мякишев Е.А.
|Издатель=myagkij
|Логотип издателя для schemaNewsArticle=<nowiki>http://wikihandbk.com/ruwiki/images/6/61/Tech_geek_logo_1x.jpg</nowiki>
|Ширина логотипа издателя для schemaNewsArticle=60
|Высота логотипа издателя для schemaNewsArticle=45
}}
{{Навигационная таблица/Справочник языка Processing}}

Текущая версия от 12:10, 20 мая 2023

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


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); 
}

См.также

Внешние ссылки