Как прочитать текущий буфер кадра в android?

Есть ли способ прочитать буфер кадра текущего экрана? Я поискал данные о буфере кадров. Кто-то использовал метод glReadPixels, но информации было недостаточно. Кто-нибудь знает, как подробно прочитать текущий буфер кадра?

Спасибо за помощь.


person Vic    schedule 16.11.2010    source источник


Ответы (2)


Вам действительно нужен фреймбуфер screen? Или какая-то поверхность OpenGL, созданная вашим приложением?

Если первое, см. Как захватить содержимое экрана устройства Android?

В последнем случае вы на правильном пути с glReadPixels.

person Reuben Scratton    schedule 16.11.2010

в строке cmd

  1. adb shell screencap -p /sdcard/abc.png
  2. adb pull /sdcard/abc.png
  3. найдите png-файл захвата экрана в каталоге adb.

Редактировать согласно Крису Стрэттону:

Если вы собираетесь реализовать этот cmd в коде Java, необходимы права root

спасибо, что указали на мою ошибку!

person kiwi    schedule 18.12.2013
comment
Нет, права root не необходимы для выполнения того, что вы здесь показали. adb предоставляет необходимое разрешение для использования этих конкретных инструментов - так работает кнопка снимка экрана DDMS. Однако вы не можете использовать эти инструменты из кода на устройстве без какого-либо взлома, поскольку adb по умолчанию прослушивает только USB-соединение. - person Chris Stratton; 19.12.2013