Digg StumbleUpon LinkedIn YouTube Flickr Facebook Twitter RSS Reset

Java: Reproportionner ou dessiner à l’échelle une image

 fichier, list, list, set, swing, awt, événement, JFrame
{filelink=10268}

import java.awt.geom.AffineTransform;
import java.awt.image.*;
import java.awt.*;
import java.awt.BorderLayout;
import javax.swing.*;
import java.io.File;
import javax.imageio.ImageIO;
import java.awt.event.*;
 
public class ImageScaling 
{
	private BufferedImage image;
	JFrame frm;
	/*
	 * @auteur sakoba adams
	 * Modification de l'aspect visuel d'une
	 * image en java.
	 * NOTE: si l'image ne s'affiche pas au
	 * lancement, redimensionner la fenêtre
	 * pour invoquer l'événement repaint de JFrame
	 */
	public ImageScaling(String monImage)throws Exception
	{
		// Création d'un fenêtre de type JFrame
		frm=new JFrame("Manipulation des image");
		frm.setSize(400, 400);
		frm.setVisible(true);
		// Création de menu qui servira à modifier l'aspect de l'image
        JMenu menu=new JMenu("Fichier");
        JMenuItem editImage=new JMenuItem("Reproportionner cette image");
        menu.add(editImage);
        // Ajouter l'option de menu qui permet la modification de l'image
        editImage.addActionListener(new ActionListener()
        {
        	public void actionPerformed(ActionEvent evt)
        	{
        		// Ces lignes redessinent l'image par échelle
    			AffineTransform transformer = new AffineTransform();
    			transformer.scale(1, 2);
 
   				AffineTransformOp op = new AffineTransformOp(transformer,
      			AffineTransformOp.TYPE_BILINEAR);
    			image = op.filter(image, null);
    			frm.repaint();        		
        	}
 
        }		
        );
        JMenuBar bar=new JMenuBar();
        bar.add(menu);
        frm.setJMenuBar(bar);		
 
        // Ces lignes ajoutent une image comme fond "Background" d'un JFrame
		Image img = ImageIO.read(new File(monImage));
        image = new BufferedImage(img.getWidth(null), img.getHeight(null),
               BufferedImage.TYPE_INT_RGB);
         image.getGraphics().drawImage(img, 0, 0, null);
         frm.add(new JComponent()
           {
              public void paintComponent(Graphics g)
              {
                 if (image != null) g.drawImage(image, 0, 0, null);
             }
           });
        frm.repaint();
 
	}
  public static void main(String[] argv) throws Exception {
 
   // Lancement de l'application avec l'image comme paramètre
   new ImageScaling("c:/image.gif");
 
  }
}

A Voir sur le même Sujet:

  • java dessiner sur une image de fond
  • image
  • java dessin afficher une image
  • exemple methode dans source dans jframe
  • changer echellle graphics 2d java
  • exemple de code de creation d'une jframe
  • comment reproportionner l'image
  • exemple jframe java de connexion à base de données
  • java code horloge jframe calendar
  • comment tracer une cercle on utilisant le thread et canvas et les evenement en java