Wie mache ich einen Screenshot von Androids Surface View?

9

Ich möchte programmatisch Screenshots von meinem Spiel machen, so wie Sie es in Eclipse DDMS bekommen würden.

Screenshot durch die hier vorgeschlagene Lösung: Wie man programmatisch eine screenshot in Android? und in den meisten anderen SO-Fragen haben nur View-Elemente sichtbar, aber nicht die SurfaceView.

%Vor%

Jede Hilfe in dieser Hinsicht wird sehr geschätzt. Danke.

    
Tariq Mahmood 31.01.2013, 06:52
quelle

3 Antworten

2

Ich hoffe, dass dies auch für Sie nützlich ist. Hier ist ein kleiner Unterschied für die obige Antwort       denn ich habe glsurfaceview benutzt, um die Screenshots zu machen, wenn ich auf den Knopf klicke.       Dieses Bild ist in der SD-Karte für den erwähnten Ordner gespeichert:       sdcard / emuliert / 0 / printerscreenshots / image / ... Bilder

%Vor%     
harikrishnan 05.06.2013 10:08
quelle
1

Hoffe, dieser Snippet kann dir helfen

%Vor%     
Usman Kurd 31.01.2013 07:03
quelle
1

Der Code aus der Usman Kurd Antwort wird in den meisten Fällen nicht funktionieren.

Wenn Sie nicht H.264-Videorahmen in Software mit Canvas auf eine Ansicht rendern, funktioniert der Zeichencache-Ansatz nicht (siehe z. B. diese Antwort).

Sie können keine Pixel aus dem Surface-Teil der SurfaceView lesen. Das grundlegende Problem besteht darin, dass eine Oberfläche eine Warteschlange mit Puffern mit einer Producer-Consumer-Schnittstelle ist und Ihre App auf der Herstellerseite liegt. Der Benutzer, normalerweise der System-Compositor (SurfaceFlinger), kann einen Screenshot aufnehmen, weil er sich am anderen Ende der Pipe befindet.

Machen Sie Screenshot von SurfaceView

    
Kirill Vashilo 16.12.2015 14:22
quelle

Tags und Links