Saya menggunakan pustaka Java imgscalr untuk mengubah ukuran gambar.
Hasil dari panggilan metode resize () adalah objek BufferedImage. Sekarang saya ingin menyimpan ini sebagai file (biasanya .jpg).
Bagaimana saya bisa melakukan itu? Saya ingin pergi dari BufferedImage
-> File
tetapi mungkin ini bukan pendekatan yang benar?
java
file-io
bufferedimage
Ankur
sumber
sumber
NullPointerException
, gunakanif (outputfile.exists())
Anda dapat menyimpan
BufferedImage
objek menggunakan metode tulisjavax.imageio.ImageIO
kelas. Tanda tangan metode ini seperti ini:Berikut
im
ini yangRenderedImage
harus ditulis,formatName
adalah String yang berisi nama informal dari format (misalnya png) danoutput
merupakan objek file yang akan ditulis. Contoh penggunaan metode untuk format file PNG ditunjukkan di bawah ini:sumber
Jawabannya ada dalam Tutorial Dokumentasi Java untuk Menulis / Menyimpan Gambar .
The
Image I/O
kelas menyediakan metode berikut untuk menyimpan gambar:Tutorial menjelaskan itu
sehingga bisa digunakan dalam metode.
Sebagai contoh,
Penting untuk mengelilingi
write
panggilan dengan blok percobaan karena, sesuai API , metode ini akan menampilkanIOException
"jika terjadi kesalahan selama penulisan"Juga dijelaskan tujuan, parameter, pengembalian, dan lemparan metode, secara lebih rinci:
Namun,
formatName
mungkin masih tampak agak kabur dan ambigu; tutorial menjelaskannya sedikit:Namun, ada format tambahan yang dapat Anda gunakan:
Untuk contoh lengkap dan praktis, seseorang dapat merujuk ke contoh Oracle
SaveImage.java
.sumber
Buat dan simpan java.awt.image.bufferedImage ke file:
Catatan:
sumber
Dalam kode Anda:
sumber
Sebagai satu liner:
sumber