Konvertieren Sie ein Graphics2D auf ein Image oder BufferedImage
Ich habe ein kleines problem hier.
Ich habe ein applet, wo er kann "ziehen" drin. Zu tun, dass ich die java.das awt.Graphics2D.
Aber, wie kann ich tun, um den Benutzer zu speichern draw-Bild als JPEG-Bild, oder zumindest, konvertieren Sie es in ein BufferedImage oder so? Ich weiß nicht, wie das zu tun.
Dank.
Siehe Edit 1 in meiner Antwort ein Beispiel für das, was ich meinte.
InformationsquelleAutor caarlos0 | 2011-07-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie direkt zeichnen in ein BufferedImage durch die Graphics2D-Objekt, das Sie erhalten können über getGraphics(). Dann nutzen Sie
ImageIO.write(...)
das Bild ausgeben, um was auch immer-Datei, die Sie verlangen (und unterstützt). Die ImageIO-API soll Ihnen dabei helfen: ImageIO-API.Die andere Frage wird sein, wo sollen Sie dann speichern Sie das Bild, sobald es gezeichnet wurde? Auf Ihren eigenen computer? Wenn dem so ist, und dies ist ein applet Programm, dann die Applets werden müssen "unterzeichnet", um die Berechtigung zum schreiben auf die Festplatte. Wenn du unsicher bist, auf diese, überprüfen Google, dieser Artikel, oder Sie können möchten, schreiben Sie eine neue Frage für dieses Problem allein.
Edit 1: code-Beispiel
Zum Beispiel:
InformationsquelleAutor Hovercraft Full Of Eels
Mache ich es so, und funktioniert sehr gut:
Das ist alles 🙂
Vielen Dank an alle 🙂
InformationsquelleAutor caarlos0
Verwenden Sie die
drawImage
Methode zur Verfügung gestellt vonGraphics2D
und schreiben Sie es mitImageIO
Korrigieren Sie mich, wenn ich falsch bin, aber nicht
drawImage
zeichnenimg
zug2dObject
- und nicht Umgekehrt? Ich denke, dieser Ansatz wird speichern Sie einfach ein leeres Bild undg2dObject
tatsächlich haben die Inhalte, die Sie speichern möchten ...InformationsquelleAutor c00kiemon5ter
Verwenden Sie die "drawOnImage" ein Beispiel aus Custom Painting Ansätze. Dann, um das Bild der Platte, die Sie verwenden können, die Bild Klasse.
InformationsquelleAutor camickr
Wenn Sie möchten, um zu zeichnen JComponent image auf BufferedImage (JApplet erweitert JComponent):
Und schreiben Ihre Daten in die JPEG-Datei:
InformationsquelleAutor Muskovets