Bonjour, j'ai créer une interface graphique qui importe une image et faire tel option sur cette image ( traitement ).
mais je sait pas le code qui me permet de zoomer l'image / et de changer le niveau de gris.
import java.io.File;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.AffineTransform;
import java.awt.image.AffineTransformOp;
import java.awt.image.BufferedImage;
import javax.swing.filechooser.FileFilter;
public class essai extends JFrame {
private JMenuBar barre = new JMenuBar();
private JMenu édition = new JMenu("Edition");
private JMenu fichier = new JMenu("Fichier");
private JLabel image = new JLabel();
public essai() {
super();
setJMenuBar(barre);
barre.add(fichier);
// Definition de l'elelment Nouveau de menu fichier
fichier.add(new Option("Nouveau", 'X', "Nouveau fichier")).addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
essai.this.setTitle("Nouveau document");
}
});
// Definition de l'elelment ouvrir de menu fichier
fichier.add(new Option("Ouvrir", 'C', "Ouvrir un fichier")).addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFileChooser sélecteur = new JFileChooser();
sélecteur.setFileFilter(new Filtre());
if (sélecteur.showDialog(essai.this, "Sélectionner votre image")==JFileChooser.APPROVE_OPTION) {
File fichier = sélecteur.getSelectedFile();
setTitle(fichier.getPath());
image.setIcon(new ImageIcon(fichier.getPath()));
}
}
});
// Definition de l'elelment Quitter de menu fichier
fichier.addSeparator(); // Séparateur entre deux sous menu
fichier.add(new Option("Quitter", 'X', "Quitter le fichier")).addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// interface de confirmation
if (JOptionPane.showConfirmDialog(essai.this, "Désirez-vous quitter l'application ?")== JOptionPane.YES_OPTION)
System.exit(0);
}
});
barre.add(édition);
// Zoomer une image
édition.add(new Option("Zoomer", 'Z', "zoomer une image ")).addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//aider moi a faire ce code qui fait zoomer / retailler d'une image
}
});
// Zoomer une image
édition.add(new Option("Noir/Blanc", 'Z', "rendre l'image Binaire")).addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// aider moi a faire le code qui rendre l'image Binaire
}
});
add(new JScrollPane(image));
setTitle("Traitement d'Images");
setSize(800, 700);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
private class Option extends JMenuItem {
public Option(String intitulé, char raccourci, String aide) {
super(intitulé, new ImageIcon(intitulé.toLowerCase()+".gif"));
setAccelerator(KeyStroke.getKeyStroke("control "+raccourci));
setToolTipText(aide);
}
}
// Classe FileGIF gerer l'extension de fichier
private class Filtre extends FileFilter {
@Override
public boolean accept(File fichier) {
return fichier.getName().toLowerCase().endsWith(".gif") || fichier.isDirectory();
}
@Override
public String getDescription() {
return "Images GIF";
}
}
public static void main (String args[]) { new essai(); }
}