Java: Convertir une image avec ‘AffineTransform’

Author:

 list, date, list, set, swing, awt, JFrame
Download

import java.awt.geom.AffineTransform;
import java.awt.image.AffineTransformOp;
import java.awt.image.BufferedImage;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.imageio.ImageIO;
import java.io.File;
 
public class TranslateImage extends JFrame
 {
 	private TranslateImage(String monImage)throws Exception
 	{
 		// Création d'un fenêtre de type JFrame
		setTitle("Manipulation des image");
		setSize(400, 400);
		setVisible(true);
		JButton btn=new JButton("Cliquez ici pour déplacer l'image");
		/*
		 * Evénement de bouton clique
		 * pour convertir l'image
		 *
		 */
		btn.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent evt)
			{
				 // Lancer la conversion de l'image
                 AffineTransform transformer = new AffineTransform();
    			 transformer.translate(2, 1);
 
    			AffineTransformOp op = new AffineTransformOp(transformer,
        		AffineTransformOp.TYPE_BILINEAR);
    			image = op.filter(image, null);
    		    repaint();
			}
		});
		add(btn,java.awt.BorderLayout.NORTH);
 
		// utiliser une image comme fond d'ércran du JFrame
		Image img = ImageIO.read(new File(monImage));
        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();
 	}
  public static void main(String[] argv) throws Exception {
  	new TranslateImage("c:/image.gif");
  }
 
  private BufferedImage image;
}

Cet article Java: Convertir une image avec ‘AffineTransform’ est apparu en premier sur .