Java: Inverser une image Verticallement et horizontalement

Author:

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

         
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;
import java.io.File;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.JComponent;
import javax.imageio.ImageIO;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.awt.BorderLayout;
import java.awt.geom.AffineTransform;
import java.awt.image.AffineTransformOp;
import java.awt.image.BufferedImage;

	/*
	 *  @auteur sakoba adams
	 *  Inverser une image 
	 *  horizontalement et verticalement
	 *
	 */
public class ImageInversion2 extends JFrame
 {
 	private BufferedImage image;
 	private ImageInversion2()
	{
	
		super("Java: Manipulation des images");
		setSize(400, 400);
		// Sélectionner l'image à modifier
		JButton btnSelect=new JButton("Sélectionner une image");		
		btnSelect.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent evt)
			{
				 JFileChooser choix=new JFileChooser();
        		int op=choix.showOpenDialog(null);
        		if(op==JFileChooser.APPROVE_OPTION)
        		{
		      		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);
        	 	}
        	 	        			
        		}
			}
		});
		

		JButton btnInverse_ver=new JButton("Cliquez ici pour inverser l'image");
	    btnInverse_ver.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent evt)
			{
    		AffineTransform tx = AffineTransform.getScaleInstance(-1, -1);
    		tx.translate(-image.getWidth(null), -image.getHeight(null));
    		AffineTransformOp op = new AffineTransformOp(tx,
        	AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
    		image = op.filter(image, null);
    		repaint();
			}
		});
		
		JPanel pnl=new JPanel();
		pnl.add(btnSelect);
		pnl.add(btnInverse_ver);
		add(pnl,java.awt.BorderLayout.NORTH);
	}
  public static void main(String[] argv) throws Exception {
   
   new ImageInversion2().setVisible(true);

  }
}

   
    
         

A Voir sur le même Sujet:

  • inverse image
  • java affichage dynamique jframe
  • script inverser une image
  • void inverser une en java
  • compter les images dans un dossier java
  • inversion image jpanel
  • java retourner image
  • java inverser une image
  • calendrier couleur
  • inverser le contenu d’un fichier java

Leave a Reply

Your email address will not be published. Required fields are marked *