2012-06-25 3 views
2

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

Я попробовал это, включив и получив кэш корневого образа, но результатом был растровый рисунок с черным фоном и остальными слоями на нем. Кроме того, чтобы снова получить камеру на фоне, мне пришлось отключить кеш и перезагрузить камеру. (т. е. How to programmatically take a screenshot in Android?)

Следующий подход, и это почти работает для меня, это сделать фотографию и установить ее в качестве фона, прежде чем делать захват экрана «как обычно». Результат довольно хороший, но слишком сложный и немного медленный, а также я должен исправить размер изображения в соответствии с экраном устройства.

Может ли кто-нибудь дать мне совет о том, как лучше подойти к этой задаче?

Спасибо!

+0

Просто у той же проблемы было несколько дней назад, не удалось ее решить =) – Egor

+0

И вы нашли элегантное решение для этого? – JxXx

+0

Нет, к сожалению .. – Egor

ответ

1

Извините, вы не можете. SurfaceView, связанный с камерой, аппаратно ускорен, поэтому он не будет отображаться на снимке экрана.

Единственное решение, с которым я столкнулся, - это получить предварительный просмотр с камеры и программно покрасить его в SurfaceView. Тогда снимок экрана будет работать.

+0

Это было подробно описано в ответе https://stackoverflow.com/a/18299259/192373 –

Смежные вопросы