//Fichiers images reconnus par la machine Java // EnvImage.java Fichiers images reconnus // 1. format d'images reconnus // 2. fontes connues (getDefaultToolkit) // 3. dimensions de l'écran en pixel (getDefaultToolkit) // 4. émission d'un bip (getDefaultToolkit) // 5.a extraction depuis un zip, d'un fichier // 5.b extraction du fichier .gif // 6. conversion en fichier png ou jpeg // http://www.labo-sun.com/index.jsp?actionId=11&docId=253&techno=1 // Toolkit.getDefaultToolkit() // http://b.kostrzewa.free.fr/java/ // http://sunsite.sut.ac.jp/multimed/ // http://www.anbg.gov.au/anbg/index.html jardin botanique australien // http://www.iconarchive.com/ // http://thefreesite.com/ // http://www.soundcentral.com/ // http://www.pngart.com/ // http://www.pngart.com/RULES/CR25FLT/CR25FLT.HTM // http://www.pngart.com/RULES/CR25FLT/9A1CR25.png // http://www.pngart.com/RULES/CR25FLT/9A5CR25.png // http://www.pngart.com/RULES/CR25FLT/9A5CR25.png // http://www.pngart.com/RULES/CR25FLT/9ADCR25.png // http://www.pngart.com/RULES/CR25FLT/9AECR25.png // // http://java.sun.com/developer/techDocs/hi/repository/ import java.awt.*; import java.awt.event.*; import java.applet.Applet; import javax.imageio.ImageIO; import java.io.IOException; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import java.util.zip.ZipException; import java.io.*; import java.awt.image.BufferedImage; public class EnvImage extends Applet { //Méthode principale public static void main(String[] args) throws IOException { String repCourant=System.getProperty("user.dir"); // 1. format d'images reconnus environnementImage(); // System.in.read(new byte[700]); //2. fontes connues (getDefaultToolkit) String fontes[]=Toolkit.getDefaultToolkit().getFontList(); affTab(fontes,"Fontes utilisables:"); //3. dimensions de l'écran en pixel (getDefaultToolkit) Dimension d=Toolkit.getDefaultToolkit().getScreenSize(); System.out.println("écran "+d.width+"x"+d.height); //4. émission d'un bip (getDefaultToolkit) Toolkit.getDefaultToolkit().beep(); String nafz=repCourant+"\\ima\\desZip.zip"; String rfi= repCourant+"\\ima\\", nfi="hr-iut.gif" // , copie="hr-iut.jpeg"; , copie="hr-iut.png"; ZipFile ficZip=new ZipFile(nafz); //5.a extraction depuis un zip, d'un fichier ZipEntry unItem=ficZip.getEntry(nfi); if(unItem==null) System.out.println(nfi+" pas trouvé"); else { int i,no=(int)unItem.getSize(); System.out.println(nfi+":"+no); //5.b extraction du fichier .gif InputStream fo=ficZip.getInputStream(unItem); // byte to[] = new byte[no]; // for(i=0; i<no; i++) to[i]=(byte)fo.read(); BufferedImage ima = ImageIO.read(fo); //6. conversion en fichier png ou jpeg File fic = new File(rfi+copie); ImageIO.write(ima,ImageChange.TYPE_PNG,fic); // ImageIO.write(ima,ImageChange.TYPE_JPEG,fic); System.out.println(copie+" créé dans "+rfi); } } public static void environnementImage() { Toolkit.getDefaultToolkit().beep(); String fmtImageLu[] = ImageIO.getReaderFormatNames(); affTab(fmtImageLu, "Formats d'images reconnus:"); String typeMimeLu[] = ImageIO.getReaderMIMETypes(); affTab(typeMimeLu, "Types MIME lisibles:"); String fmtImageEcrit[] = ImageIO.getWriterFormatNames(); affTab(fmtImageEcrit, "Format d'images écrits:"); String typeMimeEcrit[] = ImageIO.getWriterMIMETypes(); affTab(typeMimeEcrit, "Types MIME écrits:"); } private static void affTab(String names[], String title) { System.out.println(title); for (int i = 0, n = names.length; i < n; i++) { System.out.println("\t" + names[i]); } } /** Utilitaire: affichage */ static void a( String txt) {System.out.print(txt);} static void a_( String txt) {System.out.println(txt);} /** Utilitaire: lecture au clavier blocante */ static void fin() { byte aux[]=new byte[80]; try { a("\nFin >>> "); System.in.read(aux,0,80);} catch (Exception e) {} } /** message lié à une exception */ static void a( String txt, Exception e) { a(txt+" "); if( e != null) { a( e.getLocalizedMessage()+"\n --> " + e.toString()); // e.printStackTrace(); } } // Classes internes } //fin class EnvImage