Поверхностный вид как растровое изображение в Android - PullRequest
4 голосов
/ 12 декабря 2011

Я использую cocos2d.

Теперь я добавил несколько изображений в слой и немного поиграл.

Я пытаюсь сохранить весь экран как файл изображения.

Как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 12 декабря 2011

Единственный способ захвата содержимого SurfaceView - это рендеринг в него с использованием OpenGL.Вы можете использовать glReadPixels (), чтобы получить содержимое поверхности.Если вы рисуете в SurfaceView с помощью Canvas, вы можете просто создать растровое изображение, создать новый Canvas для этого растрового изображения и выполнить код для рисования с новым Canvas.

1 голос
/ 13 декабря 2011

Насколько я понимаю, у cocos2d-android также есть класс CCRenderTexture с методом saveBuffer.В этом случае посмотрите на мою демонстрационную программу CCRenderTexture и сообщение в блоге для cocos2d-iphone, которое дает вам пример того, как создать скриншот, используя CCRenderTexture и saveBuffer.Тот же принцип должен быть применим к cocos2d-android.

...