Ich verwende die imgscalr Java-Bibliothek, um die Größe eines Bildes zu ändern.
Das Ergebnis eines resize () -Methodenaufrufs ist ein BufferedImage-Objekt. Ich möchte dies jetzt als Datei speichern (normalerweise .jpg).
Wie kann ich das machen? Ich möchte von BufferedImage
-> gehen, File
aber vielleicht ist dies nicht der richtige Ansatz?
java
file-io
bufferedimage
Ankur
quelle
quelle
NullPointerException
, benutzenif (outputfile.exists())
Sie können ein
BufferedImage
Objekt mit der Schreibmethode derjavax.imageio.ImageIO
Klasse speichern . Die Signatur der Methode lautet wie folgt:Hier
im
ist derRenderedImage
zu schreibendeformatName
String, der String, der den informellen Namen des Formats enthält (z. B. png) undoutput
das Dateiobjekt, in das geschrieben werden soll. Ein Beispiel für die Verwendung der Methode für das PNG-Dateiformat ist unten dargestellt:quelle
Die Antwort liegt im Tutorial der Java-Dokumentation zum Schreiben / Speichern eines Bildes .
Die
Image I/O
Klasse bietet die folgende Methode zum Speichern eines Bildes:Das Tutorial erklärt das
so kann es in der Methode verwendet werden.
Beispielsweise,
Es ist wichtig, den
write
Aufruf mit einem try-Block zu umgeben , da die Methode gemäß der API einIOException
"Wenn beim Schreiben ein Fehler auftritt" auslöst.Außerdem werden das Ziel, die Parameter, die Rückgaben und die Würfe der Methode ausführlicher erläutert:
Allerdings
formatName
scheinen mag noch recht vage und mehrdeutig; Das Tutorial klärt es ein wenig auf:Es gibt jedoch zusätzliche Formate, die Sie verwenden können:
Ein vollständiges und praktisches Beispiel finden Sie im Beispiel von Oracle
SaveImage.java
.quelle
Erstellen und speichern Sie ein java.awt.image.bufferedImage in einer Datei:
Anmerkungen:
quelle
In Ihrem Code:
quelle
Als Einzeiler:
quelle