[Java ]Déplacer une image

Déplacer une image [Java ] - Java - Programmation

Marsh Posté le 29-01-2006 à 17:52:39    

Bonjour à tous,
 
Voilà je suis face à un problème, je désire déplacer une image animée GIF sur une Frame, pour l'animation il n'ya pas de problème puisque JAVA lit automatiquement les animations GIF. Parcontre après plusieurs recherche je n'ais toujours pas trouvé la manière avec laquelle je puis déplacer cette image. J'ai tenté de redessiner l'image après un flush sur celle-ci mais le résultat n'est pas franchement convaincant.
 
Comment puis-je donc opérer ?
 
En vous remerciant


Message édité par Leleniniste le 29-01-2006 à 18:56:40
Reply

Marsh Posté le 29-01-2006 à 17:52:39   

Reply

Marsh Posté le 30-01-2006 à 14:56:29    

comment affiches-tu ton images?
tu surcharges le paint( ou paintComponent) ou tu l'affiches dans un Label ( Frame ou JFrame?) ?
D'ailleus que cherches-tu à faire? Du drag'n Drop?
 
Dans ce cas avec la première méthode, je ne sais pas trop.
Avec la seconde méthode, tu mets des listeners sur ce composant et change la position du composant en fonction des déplacements de la souris.
 
Ou alors tu vx que ton image se déplace tte seule?
Dans ce cas, tu mets un petit thread qui redessine la Frame et l'image en changeant sa position. Tu redessines en surchargeant paint (ou paintComponent je sais plus trop).


---------------
Voir les RAW sous Android: https://market.android.com/details? [...] .RawVision Blog Photo: http://photouch.me Applications mobiles: http://caketuzz.com Wapcam Project: http://wapcam.mobi
Reply

Marsh Posté le 30-01-2006 à 17:43:28    

Tour d'abord merci pour ta réponse wapcamer,
 
En premier lieu, je surcharge effectivement le paint, mais je ne désire pas réaliser de Drag'n Drop, j'aimerais que cette image se déplace toute seule.
 
Ensuite," j'utiliserais " effectivement un thread, mais j'aimerais redessiner uniquement la partie de l'image à déplacer, puis-je tenter avec un Rectangle et faire un repaint sur ce Rectangle, ou JAVA implémente t-il des choses plus simple ?
 
cordialement

Reply

Marsh Posté le 31-01-2006 à 14:20:03    

Leleniniste a écrit :


Ensuite," j'utiliserais " effectivement un thread, mais j'aimerais redessiner uniquement la partie de l'image à déplacer, puis-je tenter avec un Rectangle et faire un repaint sur ce Rectangle, ou JAVA implémente t-il des choses plus simple ?


 
Tu peux essayer, mais je ne suis pas sur que ce soit nécessaire.
A mon avis, tu indiques dans ton paint qu'il doit dessiner l'image avec les coordonnées, disons x et y.
Dans ton thread, tu modifies x et y et tu appelles repaint()
Normalement il redessine toute la fenetre, donc efface l'ancienne image et affiche la nouvelle.
 
Tu peux aussi limiter la zone à redessiner avec repaint(monRectangle); (déclaration exacte à vérifier).


---------------
Voir les RAW sous Android: https://market.android.com/details? [...] .RawVision Blog Photo: http://photouch.me Applications mobiles: http://caketuzz.com Wapcam Project: http://wapcam.mobi
Reply

Marsh Posté le 01-02-2006 à 14:20:09    

Je suppose que ça clignote...
Il faut passer par un second buffer en memoire je pense :
 

Code :
  1. buffer=createImage(500,300);


( avec la taille qui va bien and fonction de la taille de ta fenetre on de la zone de dessin )
 
ensuite tu peux dessiner dans le graphics du buffer :
 

Code :
  1. buffer.getGraphics().setColor(Color.white);
  2. buffer.getGraphics().fillRect(0, 0, 500, 300);
  3. buffer.getGraphics().drawImage(...Le GIF....);


( là tu dessine ton gif au coordonnées que tu veux )
 
et dans ton paint, tu affiche le buffer au lieu de ton gif :
 

Code :
  1. getContentPane().getGraphics().drawImage(buffer,0,0,Color.white,null);


 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed