Android Screenshot a la Paint-Buffer

Servus7

Mitglied
Ich möchte einen Screenshot eines Teiles meiner Anwendung machen, um beim neuzeichen die Leistung zu verringern, indem nur ein Bild gerendert werden muss, anstatt lauter Verläufe und Linen. Die Qualität muss deswegen gut sein und der Speicherort nur temporär. Ein abspeichern und laden aus nem Ordner is auch recht lansam. BufferdImage und Robot gehen auf Android nicht.
 
Zuletzt bearbeitet von einem Moderator:
Du könntest in deinem onDraw der View die du verwenden möchtest in ein Bitmap zeichnen welches zu per WeakReference im Objekt hältst. Wenn die WeakReference das Bild noch enthält stellst du dieses dar, ansonsten zeichnest du wieder in dein Bitmap.
 
Du musst den Container überschreiben den du verwenden willst, also LinearLayout oder RelativeLayout oder was auch immer und im onDraw das Canvas-Objekt verwenden um das Bitmap zu bekommen.
 
Ja ich merks grad krieg ne Fehlermeldung bei canvas.setBitmap(); nur wie ändere ich den Container. Ich hab bis jetzt nur Java auf Pc gemacht Android is sehr neu für mich und genau diese feinheiten fehlen mir noch.
 
Ok ich habs geschaft:
Java:
myBitmap = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.RGB_565);
Canvas canvas = new Canvas(myBitmap);


dann alles einmal zeichen.
Dann nur noch
Java:
 c.drawBitmap(myBitmap).
Geht super und die Performance is der Hammer.
 

Zurück
Oben