Processing:Библиотеки/Video/Обработчики событий/captureEvent(): различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
Строка 10: | Строка 10: | ||
==Обозначение== | ==Обозначение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
captureEvent() | captureEvent() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 22: | Строка 22: | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
void captureEvent(Capture which) { | void captureEvent(Capture which) { | ||
statements | statements | ||
Строка 30: | Строка 30: | ||
==Параметры== | ==Параметры== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
statements – какой-либо код, который надо запустить | statements – какой-либо код, который надо запустить | ||
which – камера, запустившая событие | which – камера, запустившая событие | ||
Строка 37: | Строка 37: | ||
==Возвращаемое значение== | ==Возвращаемое значение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 43: | Строка 43: | ||
==Пример== | ==Пример== | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
import processing.video.*; | import processing.video.*; | ||
Capture cam; | Capture cam; |
Версия от 18:13, 14 мая 2023
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Черновик |
captureEvent()[1]
Обозначение
captureEvent()
Описание
Это функция события, и она запускается, когда у камеры появляется новый кадр. Чтобы прочитать этот кадр, используйте функцию read(). Если в программе имеется несколько устройств, captureEvent() будет вызываться всякий раз, когда у какого-либо устройства будет доступен новый кадр. Чтобы определить, какое именно устройство запустило это событие, используйте внутри функции оператор if().
Эта функция предназначена для тех, кто хочет, чтобы в их коде кадры обрабатывались отдельно от рисования (и как можно быстрее). Рисовать на экране внутри функции captureEvent() нельзя. Если вам нужно нарисовать что-либо сразу после того, как у устройства появится новый кадр, используйте функцию Capture.available().
Синтаксис
void captureEvent(Capture which) {
statements
}
Параметры
statements – какой-либо код, который надо запустить
which – камера, запустившая событие
Возвращаемое значение
Пример
import processing.video.*;
Capture cam;
void setup() {
size(200, 200);
cam = new Capture(this);
cam.start();
}
void draw() {
image(cam, 0, 0);
}
// определяем, есть ли у устройства новый кадр, и считываем его:
void captureEvent(Capture c) {
c.read();
}