Digg StumbleUpon LinkedIn YouTube Flickr Facebook Twitter RSS Reset

Java: Retourner une image

 list, date, list, set, swing, awt, JPanel, JFrame
{filelink=10272}

import java.awt.geom.AffineTransform;
import java.awt.image.AffineTransformOp;
import java.awt.image.BufferedImage;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.File;
import javax.imageio.ImageIO;
 
	/*
	 *  @auteur sakoba adams
	 *  faire retourner une image
	 *
	 */
public class FlipImage extends JFrame implements ActionListener
 {
 	JButton btnSelect, btnBascul;
 	private BufferedImage image;
 	public FlipImage()
 	{
 		// Configuration de JFrame
 		setTitle("Manipulation des image");
 		setLayout(new BorderLayout());
 		setDefaultCloseOperation(EXIT_ON_CLOSE);
		setSize(500, 350);
		setVisible(true);
 
		btnSelect=new JButton("Sélectionner une image");
		btnBascul=new JButton("Cliquez ici pour inverser l'image");
		btnBascul.addActionListener(this);
		btnSelect.addActionListener(this);
		JPanel pnl=new JPanel();
		pnl.add(btnSelect);
		pnl.add(btnBascul);
		add(pnl,java.awt.BorderLayout.NORTH);		
 	}
 	// Ecrire les codes de deux boutons
 	public void actionPerformed(ActionEvent evt)
 	{
 		if(evt.getSource()==btnSelect)
 		{
 				JFileChooser choix=new JFileChooser();
        		int op=choix.showOpenDialog(null);
        		if(op==0)
        		{
		      		try{
 
					Image img = ImageIO.read(new File(choix.getSelectedFile().getPath()));
        			image = new BufferedImage(img.getWidth(null), img.getHeight(null),
               	    BufferedImage.TYPE_BYTE_INDEXED);
       				image.getGraphics().drawImage(img, 0, 0, null);
					add(new JComponent()
           			{
              			public void paintComponent(Graphics g)
              			{
                 		if (image != null) g.drawImage(image, 0, 0, null);
             			}
           			});
        			invalidate();  
        			validate();
 
        	 	}catch(Exception err)     		
        	 	{
        	 		JOptionPane.showMessageDialog(null,err);
        	 	}        			
 
        		}
 		}
 		 else if(evt.getSource()==btnBascul)
 		{
    		AffineTransform tx = AffineTransform.getScaleInstance(1, -1);
    		tx.translate(0, -image.getHeight(null));
    		AffineTransformOp op = new AffineTransformOp(tx,
      	    AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
   			image = op.filter(image, null); 	
   			repaint();		
 		}
 	}
  public static void main(String[] argv) throws Exception 
  	{
 
    new FlipImage();
 
   }
}

A Voir sur le même Sujet:

  • exemple jpanel java
  • jpannel
  • codes java: afficher la date dans un JLabel
  • afficher l'heure courante dans jpanel en java
  • comment faire un lien de jpanel à autre jpanel
  • comment afficher un jpanel dans un autre (code java)
  • comment acceder a un autre jpanel java
  • java parcourir jpane document
  • comment créer un jpanel email en java
  • afficher date heure jpanel