IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

[MouseListener] Zoomer sur une image


Sujet :

AWT/Swing Java

  1. #1
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 47
    Par défaut [MouseListener] Zoomer sur une image
    Bonjour tout le monde j’ai trouve ce code sur net il sert à zoomer une image

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    import java.awt.*;
    import java.io.File;
    import java.io.IOException;
    import javax.imageio.ImageIO;
    import javax.swing.*;
    public class ZoomA extends JPanel implements MouseWheelListener {
    	private BufferedImage sourceImage;
    	private int sourceImageWidth,sourceImageHeight;
    	private Image scaledImage;
    	private double zoom = 1d;
    	public ZoomA() {
    		super();
    		initializePanel();
    	}
    	private void initializePanel() {
    		setPreferredSize(new Dimension(640, 480));
    		try { 
    		sourceImage = ImageIO.read(new File("F:/testBG.jpg"));
    			sourceImageWidth = sourceImage.getWidth();
    			sourceImageHeight=sourceImage.getHeight();
    			addMouseWheelListener(this);
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
    	public void paint(Graphics g){
    		int width = (int)(sourceImageWidth*zoom);
    		int height = (int)(sourceImageHeight*zoom);
    		Image img = sourceImage.getScaledInstance(width, height, Image.SCALE_SMOOTH);
    		g.drawImage(img,0,0,null);
    	}
     
    	public void mouseWheelMoved(MouseWheelEvent e) {
    		int wheelRotation =e.getWheelRotation(); 
    		if(zoom>1){zoom+=wheelRotation;
    		}else if(zoom==1){
    		zoom=(wheelRotation==1?zoom+wheelRotation:0.5);
    		}else if(zoom<1){
    			zoom/=(wheelRotation*2);
    		}
    		repaint();
    	}
     
    	public static void main(String[] args) {
    		JFrame demo = new JFrame();
    		demo.getContentPane().add(new ZoomA());
    		demo.pack();
    		demo.setVisible(true);
    	}
     
    }
    Je vous demande ce que je doit changer dans ce code afin de zoomer l’image on cliquant sur elle (image) seulement et merci d’avance

  2. #2
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 47
    Par défaut
    voila j'ai trouvé la solution if faut remplacer
    MouseWheelListener par MouseListener

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment zoomer sur une image avec la molette en SVG
    Par Pitus dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/04/2011, 16h07
  2. Bouger et zoomer sur une image dans un JPanel
    Par buenol dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 23/11/2009, 22h04
  3. zoomer sur une image
    Par benyamin dans le forum Interfaces Graphiques en Java
    Réponses: 8
    Dernier message: 19/03/2008, 09h25
  4. zoomer sur une image
    Par lekooto dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/02/2007, 19h15
  5. Zoomer sur une image
    Par Lynecoln dans le forum VB 6 et antérieur
    Réponses: 15
    Dernier message: 02/09/2006, 22h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo