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

Graphisme Java Discussion :

[Dessin] Reset un graphic


Sujet :

Graphisme Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut [Dessin] Reset un graphic
    Bonjour,

    J'ai une image sur laquelle je dessine deux lignes quand on clique sur un bouton

    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
    final Cpicturebox map = new Cpicturebox("data/world.gif");
             ....
            btnMap.addActionListener(new ActionListener()
            {
                public void actionPerformed(final ActionEvent arg0) {
     
                      Graphics g = map.getGraphics();
     
                      ImageIcon myBg = new ImageIcon("data/world.gif");
     
                      g.drawImage(myBg.getImage(), 0, 0, null);
     
                      String lat = txtMappingLatitude.getText();
                      String lon = txtMappingLongitude.getText();
                      // horizontale line
                      g.drawLine(0,Integer.parseInt(lat)+153, 500, Integer.parseInt(lat)+153);
     
                      //vertical line
                      g.drawLine(Integer.parseInt(lon)+250,0, Integer.parseInt(lon)+250,307);
                }
            });
    ca marche super bien. mais maintenant quand on reclique sur le bouton j'aimerai retourner l'image à son etat d'origine ou enlever les deux lignes.
    je pensais qu'il fallait annuler le graphic ou en définir un nouveau, mais ca semble pas marche, ca dessine les nouvelles lignes mais les vieilles lignes sont toujours là

    que puis-je faire?

    merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2007
    Messages : 18
    Par défaut
    Bonsoir!!

    Tu peux toujours essayer avec la méthode clearRect( int coordX, int coordY, int largeur, int hauteur) de Graphics.

  3. #3
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    pas bete , la description me semblait bizarre (remplir avec la couleur actuelle "current drawing color").
    le probleme c'est que je suis dans un gif et ca me dessine du gris bizarre et j'aurais eu besoin de garder la transparence ou au moins de pouvoir specifier telle ou telle couleur (qui aille avec le fond de ma fenetre)
    un g.setColor() definit la couleur des lignes mais le ClearRect me donne tjs un fond gris

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2007
    Messages : 18
    Par défaut
    Même si tu fais un setColor(..) de la couleur du fond désirée juste avant d'utiliser clearrect(..)?

    Je suis pas trop en position pour tester désolé

  5. #5
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     g.setColor(Color.RED);
                      g.clearRect(0,0,500,307);
    g.drawLine(0,-Integer.parseInt(lat)+153, 490, -Integer.parseInt(lat)+153);
    => fond gris
    => lignes rouges

  6. #6
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Selon le javadoc de clearRect :
    Beginning with Java 1.1, the background color of offscreen images may be system dependent. Applications should use setColor followed by fillRect to ensure that an offscreen image is cleared to a specific color.
    Comme ça y'a pu qu'à, non ?

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/03/2012, 15h28
  2. déplacer un dessin fait avec 'graphics'
    Par natha31 dans le forum ActionScript 3
    Réponses: 4
    Dernier message: 15/10/2010, 02h23
  3. Dessiner sur le Graphics d'une JFrame
    Par magikk dans le forum Débuter
    Réponses: 3
    Dernier message: 23/04/2010, 15h53
  4. Impossible de dessiner Image avec Graphics sur pictureBox
    Par Arnard dans le forum Windows Forms
    Réponses: 11
    Dernier message: 14/12/2007, 14h06
  5. Réponses: 7
    Dernier message: 04/06/2006, 17h00

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