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

Applets Java Discussion :

Zone selectionnable image


Sujet :

Applets Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité(e)
    Invité(e)
    Par défaut Zone selectionnable image
    Salut,
    Je cherche comment faire une zone sélectionnable en JAVA. J'ai une image qui s'affiche dans mon applet avec la méthode et je voudrais pouvoir rogner cette image. J'ai trouver la méthode pour rogner l'image avec CropImageFilter mais je cherche maintenant comment pouvoir selectionner une partie de l'image et que cela enregistre les coordonnées ?

    Merci
    Dernière modification par Invité(e) ; 26/05/2008 à 16h59.

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    J'ai réussi à trouver en récupèrant la position de la souris mais j'ai un petit bug.
    JEn fait quand je selectionne mon image cela m'affiche l'image rogné. Mais j'ai l'impression qu'il y a un petit decalage par rapport à ce que j'ai selectionner.
    Voici mon code:
    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    import java.awt.Color;
    import java.awt.Cursor;
    import java.awt.Graphics;
    import java.awt.MouseInfo;
    import java.awt.Point;
    import java.awt.PointerInfo;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
     
    import javax.imageio.ImageIO;
    import javax.swing.JApplet;
     
     
     
    public class Test extends JApplet implements MouseListener{
     
    	int xDebut=0;
    	int yDebut=0;
    	int xFin=0;
    	int yFin=0;
    	BufferedImage monImage;
     
    	public void init() {
    		this.getContentPane().setSize(800, 600);
    		this.getContentPane().setBackground(Color.green);		
    		this.getContentPane().addMouseListener(this);
    		Cursor monCurseur = new Cursor(1);
    		this.getContentPane().setCursor(monCurseur);
     
     
    		try {
    			monImage = ImageIO.read(new File("C:/essai.jpg"));
    		} catch (IOException e) {
    			e.printStackTrace();
    		} 
     
    		}
     
    	public void paint(Graphics g) {
    		if (xDebut ==0 && yDebut == 0 && xFin == 0 && yFin ==0){
    			g.drawImage(monImage, 0, 0, monImage.getWidth(), monImage.getHeight(), this); // on dessine l'image
    		}
    		else{
    			BufferedImage imageB;
    			try {
    				imageB = ImageIO.read(new File("C:/essai.jpg")).getSubimage(xDebut, yDebut, (xFin-xDebut),  (yFin-yDebut));
    				g.clearRect(0, 0, 800, 600);
    				g.drawImage(imageB, 0, 0, imageB.getWidth(), imageB.getHeight(), this); // on dessine l'image
    			} catch (IOException e) {
    				// TODO Bloc catch auto-généré
    				e.printStackTrace();
    			}
     
    		}
     
    	}
    	public void mouseClicked(MouseEvent arg0) {
    	}
     
    	public void mouseEntered(MouseEvent arg0) {
    	}
     
    	public void mouseExited(MouseEvent arg0) {
    	}
     
    	public void mousePressed(MouseEvent arg0) {
    		System.out.println("Pressé");
    		//On récupèrer X et Y de la souris
    		PointerInfo pointer = MouseInfo.getPointerInfo();
    		Point location = pointer.getLocation(); 
    		xDebut = (int)location.getX();
    		yDebut = (int) location.getY();
     
    	}
     
    	public void mouseReleased(MouseEvent arg0) {
    		System.out.println("Relaché");
    		//On récupèrer X et Y de la souris
    		PointerInfo pointer = MouseInfo.getPointerInfo();
    		Point location = pointer.getLocation(); 
    		xFin = (int)location.getX();
    		yFin = (int) location.getY();
    		repaint();
    		System.out.println("Xdebut "+xDebut+", YDebut:"+yDebut+",W, H:"+ (xFin-xDebut)+","+(yFin-yDebut));
     
    	}
     
    }
    PS : Je voudrais aussi faire en sorte que quand l'utilisateur selectionne l'image que cela encadre ce qu'il selectionne comme dans les logiciels de graphisme mais comment faire ?

    Merci

Discussions similaires

  1. recopier une zone d'image.
    Par flo291288 dans le forum C++Builder
    Réponses: 11
    Dernier message: 28/05/2009, 20h26
  2. [WebDev] Zone répétés, images, et prise de tête
    Par thedevilmaycry dans le forum WebDev
    Réponses: 2
    Dernier message: 19/02/2009, 14h52
  3. colorier une zone d'image dans une applet
    Par lou_ravi dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 16/11/2008, 22h34
  4. [Word][Modèles] Insertion d'une zone d'images
    Par unacsed dans le forum Word
    Réponses: 1
    Dernier message: 05/03/2007, 11h37
  5. [XSL~FO] zone cliquable & image, petit problème.
    Par dhakkta dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 14/02/2007, 15h10

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