Ich erstelle eine einfache Malanwendung in Java. Ich habe eine Schaltfläche, die die Zeichnung auf der Leinwand speichern soll, wenn der Benutzer darauf klickt. Wie kann ich das machen?Wie mache ich einen Screenshot Ihres Canvas in Java und speichere es auf Permanentspeicher?
-1
A
Antwort
0
Sie müssen es zu einem Offline-Puffer malen, dann speichern Sie es auf der Festplatte.
BufferedImage offImage = (BufferedImage)createImage(getWidth(), getHeight());
Graphics2D g2 = offImage.createGraphics();
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2.setRenderingHint(RenderingHints.KEY_RENDERING , RenderingHints.VALUE_RENDER_QUALITY);
paintComponent(g2);
paintChildren(g2);
ImageIO.write(offImage, "png", "snapshot.png");
+0
Rufen Sie paintComponent() und paintChildren() nicht separat auf, rufen Sie paint() nur für die Komponente auf, die als Zeichenfläche verwendet wird. Einige Leute haben auch vorgeschlagen, dass es effizienter ist, 'print (....)' zu verwenden – camickr
Verwandte Themen
- 1. Wie mache ich einen Screenshot mit Selen und synchronen JS
- 2. Wie mache ich einen "Screenshot" eines NSView?
- 3. wenn ich screenshot mache, wird das Screenshot in meiner activity angezeigt. Wie kann ich es ausblenden?
- 4. Wie mache ich Java Canvas Game Loop
- 5. Ich mache einen Screenshot mit C \ GTK
- 6. Wie mache ich einen Screenshot Bereich Auswahl durch Zeichnen auf dem Desktop, um Screenshot zu machen?
- 7. Wie mache ich ein Canvas in Android?
- 8. Wie speichere ich ein Bild von iframe unter HTML5 Canvas?
- 9. Wie mache ich einen Screenshot eines Android-Layouts?
- 10. wie Screenshot nehmen und es nicht in android
- 11. Wie mache ich einen Screenshot auf einem Raspberry Pi mit Debian Squeeze und LXDE?
- 12. Wie mache ich einen JFrame scrollbar in Java?
- 13. Wie mache ich einen Stapel von divs, die auf der Unterseite ihres Elternteils div bleiben?
- 14. PHPhotoLibraryChangeObserver funktioniert nicht, wenn ich einen Screenshot mache
- 15. Wie zeichne ich Punkte und speichere das Ausgabebild in Java?
- 16. Wie speichere ich iso8601 Date in Java?
- 17. Wie speichere ich einen Wert in Android?
- 18. Wie mache ich einen Screenshot der aktuellen Aktivität und teile ihn dann?
- 19. Wie speichere ich den Status eines Java-Programms und hole es später auf?
- 20. Wie mache ich einen anderen Thread Schlaf in Java
- 21. Wie nehme ich einen Screenshot des Fensters und zeige es mit QML auf einem Bild an?
- 22. Wie mache ich diesen Java-Code parallelisierbar? Wie mache ich es cloudable?
- 23. Wie kann ich bestimmte Elemente verstecken, wenn ich einen Screenshot mache?
- 24. Wie mache ich einen Fortschritt mit einer Variablen in Java?
- 25. Wie man screenshot programmatisch nimmt und es auf Galerie speichert?
- 26. Wie mache ich einen Videofüllrahmen?
- 27. Wie programmiere ich einen Screenshot des iPhones?
- 28. Wie mache ich Timer in Java?
- 29. Wie mache ich einen Bildkonverter?
- 30. Wie erstellt das Report Bug-Tool von youtube einen Screenshot Ihres Bildschirms?
Schauen Sie [Bildschirm-Bild] (https://tips4java.wordpress.com/2008/10/13/screen-image/) für eine handliche Klasse, um dies zu tun. – camickr