Processing:Библиотеки/Video/Обработчики событий/captureEvent(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
 
Нет описания правки
Строка 10: Строка 10:
==Обозначение==
==Обозначение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
captureEvent()
captureEvent()
</syntaxhighlight>
</syntaxhighlight>
Строка 22: Строка 22:
==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
void captureEvent(Capture which) {
void captureEvent(Capture which) {
   statements
   statements
Строка 30: Строка 30:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
statements – какой-либо код, который надо запустить
statements – какой-либо код, который надо запустить
which      – камера, запустившая событие
which      – камера, запустившая событие
Строка 37: Строка 37:
==Возвращаемое значение==
==Возвращаемое значение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">


</syntaxhighlight>
</syntaxhighlight>
Строка 43: Строка 43:
==Пример==
==Пример==


<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">
import processing.video.*;  
import processing.video.*;  
Capture cam;  
Capture cam;  

Версия от 18:13, 14 мая 2023


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


Черновик


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

См.также

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