Скрыть предварительный просмотр камеры, но по-прежнему получать обратные вызовы предварительного просмотра - PullRequest
3 голосов
/ 11 марта 2012

Я хочу показать отфильтрованный предварительный просмотр камеры в моем приложении.

Я использую Camera.setPreviewCallback () для этого. Мне удалось обработать данные обратного вызова и показать отфильтрованное изображение в представлении OpenGL, но я понятия не имею, как скрыть исходный предварительный просмотр с камеры и получать обратные вызовы предварительного просмотра. Не удается сделать вид поверхности «пропавшим» или «невидимым», сделать его достаточно маленьким (10х10), чтобы скрыться за графическим интерфейсом. Он просто перестает отправлять обратные вызовы с данными предварительного просмотра.

Не могли бы вы рассказать об этом? Я тестирую с помощью Galaxy S2.

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 11 марта 2012

Решение состоит в том, чтобы даже при том, чтобы установить Размер предварительного просмотра как фактический экран, в onMeasure предварительного просмотра SurfaceView уменьшите его, что мне подходит:

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{  
   this.setMeasuredDimension(2, 2);  
}
1 голос
/ 19 июля 2012

Создайте простой вид с черным цветом фона. Расположите вид в том же положении, что и SurfaceView камеры. Предварительный просмотр камеры будет эффективно скрыт.

...