Однокадровое изображение с камеры предварительного просмотра Android - PullRequest
1 голос
/ 23 февраля 2011

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

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

Ответы [ 2 ]

2 голосов
/ 28 февраля 2011

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

1 голос
/ 23 февраля 2011

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

...