2013-11-22 5 views
0

Мое приложение использует камеру и некоторые компоненты над камерой, такие как кнопки и прозрачный макет для пользователя.Android - Printscreen (Camera + views)

В этот момент я могу видеть камеру и нарисовать верхний слой (прозрачный).

я могу сохранить изображение с камеры с помощью:

camera.takepicture()

Результат: Изображение с камеры без компонентов (то, что я обратил на него)

И я может сделать снимок из MyView (что я нарисовал на прозрачном макете)

this.getWindow().getDecorView(); 
//create a bitmap and save it to file.. 

Результат: Изображение из корневого представления с черным фоном вместо прозрачного и без камеры.

Как я могу комбинировать Camera и rootView на картинке?

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

+0

Возможно, вы могли бы изучить этот [рецепт] (http://androidcookbook.com/Recipe.seam?recipeId=4576) Он хранит представление экрана в формате PDF. –

+0

@ Lukasz'Severiaan'Grela я не пробовал, но, как я понимаю, это спасет меня только от холста. Мне нужно сохранить полный экран: камера + вид (холст) – Bugdr0id

ответ

0

Вы должны объединить SurfaceView (с предварительным просмотром камеры) и другие представления вручную.

Когда вы получаете this.getWindow().getDecorView(), вы знаете, что прямоугольник заполнена камера предварительного просмотра, и вы можете получить соответствующие пиксели из предварительного просмотра обратного вызова: camera.setOneShotPreviewCallback() (это может быть значительно быстрее, чем takePicture()).

Возможно, вы должны применить альфа-смешивание для воспроизведения эффекта полупрозрачных виджетов над предварительным просмотром камеры.