Java >> Java Program >  >> Java

Java ImageIO – Skriv bild till fil

Det här är ett exempel på hur man skriver en bild till en fil med hjälp av verktygsklassen ImageIO i Java. ImageIO-klassen av javax.imageio-paketet tillhandahåller metoder för att lokalisera ImageReaders och ImageWriters, för att utföra kodning och avkodning och andra metoder för bildbehandling.

Bland metoderna för ImageIO-klassen finns write(RenderedImage im, String formatName, File output) , write(RenderedImage im, String formatName, ImageOutputStream output) och write(RenderedImage im, String formatName, OutputStream output) metoder, som används för att skriva en bild till en fil. Alla metoder använder sig av en RenderedImage, vilket är bilden som ska skrivas, och en String formatName , vilket är formatet på bilden som ska skrivas. Den första metoden stöder det givna formatet till en fil, den andra till en ImageOutputStream och den tredje till en OutputStream. Alla metoder returnerar false om ingen lämplig ImageWriter hittas och true annars.

Nedan använder vi write(RenderedImage im, String formatName, File output) metod. Stegen vi följer är:

  • Skapa en ny filinstans och konvertera den givna sökvägssträngen till ett abstrakt sökvägsnamn, vilket är den initiala bilden i en .jpg format.
  • Läs den redan befintliga bilden. Använd read(File input) API-metod för ImageIO, med filen skapad ovan som parameter. Den returnerar en BufferedImage som ett resultat av avkodning av filen med en ImageReader som väljs automatiskt bland de som för närvarande är registrerade.
  • Använd write(RenderedImage im, String formatName, File output) för att skriva bilden till en fil. Formatet kan vara annorlunda nu.

Observera att både read och write metoder kan skapa en IOException, så de är omgivna av en try-catch blockera.

Ta en titt på kodavsnittet nedan:

ImageIOExample.java

package com.javacodegeeks.snippets.enterprise;

import javax.imageio.ImageIO;
import java.io.File;
import java.io.IOException;
import java.awt.image.BufferedImage;


public class ImageIOExample { 

 public static void main( String[] args ){
 imageIoWrite();
 }
 
 public static void imageIoWrite() {
 BufferedImage bImage = null;
 try {
 File initialImage = new File("C://Users/Rou/Desktop/image.jpg");
 bImage = ImageIO.read(initialImage);

 ImageIO.write(bImage, "gif", new File("C://Users/Rou/Desktop/image.gif"));
 ImageIO.write(bImage, "jpg", new File("C://Users/Rou/Desktop/image.png"));
 ImageIO.write(bImage, "bmp", new File("C://Users/Rou/Desktop/image.bmp"));

 } catch (IOException e) {
 System.out.println("Exception occured :" + e.getMessage());
 }
 System.out.println("Images were written succesfully.");
 }

}


Detta var ett exempel på hur man skriver en bild till en fil med javax.imageio.ImageIO class.core java io

Java-tagg