In questo breve articolo vedremo come convertire le immagini Gif in formato Jpg utilizzando Java. La nostra piccola applicazione, chiamata "imgConverter" consentirà di indicare al programma un'immagine in formato Gif che dovrà essere convertita in una copia Jpg della quale l'utente dovrà indicare percorso, nome ed estensione.
Vediamo subito il codice sorgente dell'applicazione e facciamo particolare attenzione ai commenti che illustrano i diversi passaggi:
import java.io.*;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
//definiamo la classe principale
public class imgConverter
{
public static void main(String a[]){
//tutta l'applicazione sarà contenuta in try
//in questo modo catch potrà notificare
//eventuali eccezioni
try{
//una volta eseguito il file sorgente compilato
//il programma ci chiederà quale immagine desideriamo
//convertire, è necessario specificare il percorso relativo
//completo ad essa (ad es: ../img/file.gif)
System.out.println("Inserisci il nome dell'immagine Gif\n");
BufferedReader bf=new BufferedReader(new
InputStreamReader(System.in));
String nomeImmagine=bf.readLine();
File input = new File(nomeImmagine);
BufferedImage image = ImageIO.read(input);
//una volta che l'immagine di input verrà letta dal
//programma dovremo indicare percorso, nome ed estensione
//del file di output (ad es: ../img/file.jpg)
System.out.println("Inserisci il nome dell'immagine Jpg\n");
String nomeImmagine1=bf.readLine();
File output = new File(nomeImmagine1);
//il nuovo file viene scritto nel percorso indicato
ImageIO.write(image, "jpg", output);
//al termine dell'esecuzione, se tutto è andato per il meglio
//si riceve la relativa notifica..
System.out.println("Conversione avvenuta con successo");
//altrimenti catch segnala l'avvenuta eccezione
}catch(FileNotFoundException e){
System.out.println("Attenzione:"+e.getMessage());
}catch(IOException e)
{
System.out.println("Attenzione:"+e.getMessage());
}
catch(Exception e){
System.out.println(e.getMessage());
}
}
}
Da notare che il programma produce una copia convertita del file di input che continua a risiedere senza aver subito modifiche all'interno del percorso indicato.
|