Однокадровое изображение из Camera Preview Android

Я хочу иметь возможность сделать снимок экрана предварительного просмотра камеры, отображаемого на SurfaceView. Я знаю, что это как-то связано с методом onPreviewFrame(), и он возвращает массив байтов в формате YUV, но я понятия не имею, как вызвать метод onPreviewFrame() сам по себе.

Я использовал его в сочетании с Camera.setPreviewCallback(), но это непрерывная вещь, которая продолжает генерировать изображение, мне нужно сделать это один раз на onClick(), чтобы сделать снимок без остановки окна предварительного просмотра. Любые идеи?


person SamRowley    schedule 23.02.2011    source источник


Ответы (2)


Для всех, у кого есть похожая проблема, я решил ее, используя метод setOneShotPreviewCallback() для объекта камеры, чтобы дать мне byte[] информацию для изображения. при этом его можно использовать для создания YUV, а затем сжимать в растровое изображение или что вам нужно.

person SamRowley    schedule 28.02.2011

Захватите изображение предварительного просмотра на холсте и заблокируйте его. Затем вы можете легко сохранить в растровое изображение См. этот пост для полного объяснения с примером кода http://www.anddev.org/using_camerapreview_to_save_a_picture_on_disk-t226.html

person Veeresh    schedule 23.02.2011