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.
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%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.
Tags und Links android surfaceview screenshot