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

2D Java Discussion :

zoom sur le contenue d'un canvas java


Sujet :

2D Java

  1. #1
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 46
    Par défaut zoom sur le contenue d'un canvas java
    bonjour,
    je veut faire un zoom avec un JSlidser sur le contenu d'un canvas
    le zoom avec 2 JSlider l'un fait le zoom sur la largeur du graph et l'autre sur la longueur
    merci pour vos aides

  2. #2
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    salut.
    tu peux voir avec la méthode scale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    surface_graphique.scale(...., .....);

  3. #3
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 46
    Par défaut
    salut,
    merci pour votre aide mais es que vous pouvez me guidé avec un exemple ou un lien pour faire ça

  4. #4
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    salut

    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
    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    
    public class MainClass extends JPanel {
    
      public void paint(Graphics g) {
    
        g.fillRect(0, 0, 20, 20);
    
        Graphics2D g2 = (Graphics2D) g;
    
        g2.translate(50, 50);
        g2.rotate(30.0 * Math.PI / 180.0);
    
        g2.scale(2.0, 2.0);
    
        g.setColor(Color.red);
    
        g.fillRect(0, 0, 20, 20);
    
      }
    
      public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.getContentPane().add(new MainClass());
    
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(200, 200);
        frame.setVisible(true);
      }
    }

  5. #5
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 46
    Par défaut
    salut,
    merci Mr pour votre aide mais es que vous pouvez me dire comment affecté le zoom à un JSlider
    merci d'avance

  6. #6
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    tu affecte un listener sur ton Jslider et tu met dedanspar exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    zoomx++;//il s'agit d'une augmentation d'échelle
    zoomy++;
    repaint();//pour réactualiser l'affichage de ton Jpanel
    après , ton la méthode paintComponent de ton Jpanel
    tu dois mettre cette instruction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     g2.scale(zoomx, zoomy);
    c'est un exemple pour en inspirer l'idée

  7. #7
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 46
    Par défaut
    bonsoir;
    j'ai essayer votre méthode Mr mais elle ne fonctionne seulement que pour une variation du SLider
    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
    JSlider f = new JSlider(JSlider.HORIZONTAL,FPS_MIN, FPS_MAX, FPS_INIT);
    	 f.setMajorTickSpacing(10);f.setMinorTickSpacing(1);f.setPaintTicks(true);f.setPaintLabels(true);
    		 f.addChangeListener(new ChangeListener(){
    		 	public void stateChanged(ChangeEvent e){
    		 		JSlider source = (JSlider)e.getSource();
    		 		 if (!source.getValueIsAdjusting()){
    		 		 	 int fts  = (int)source.getValue();
    		 		 	 for( fts=0;fts<=10;fts++){
    		 		 	 	zoomx=zoomx+0.1;
    		 		 	 	repaint();
    		 		 	 }
     
    		 		 }
    		 	}
    		 });
    j'ai déclaré zoomx et zoomy au début mais je vois pas ou le problème
    merci d'avance pour votre aide

  8. #8
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    Citation Envoyé par hammasaidi Voir le message
    mais elle ne fonctionne seulement que pour une variation du SLider
    ce n'est pas ce que tu veux faire ?

  9. #9
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 817
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 817
    Par défaut
    Citation Envoyé par slim_java Voir le message
    ce n'est pas ce que tu veux faire ?
    A voir son code, je présume qu'il veut dire que ça ne fait que zoomer et que ça ne dézoome pas...

    hammasaidi, revois ton algorithme, là tu ne fais qu'augmenter le zoom quelque soit la direction du slider:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int fts  = (int)source.getValue();
    for( fts=0;fts<=10;fts++){
    A quoi ça sert d'aller chercher la valeur du slider, si c'est pour réinitialiser fts pour la boucle ensuite?
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  10. #10
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 46
    Par défaut
    bonjour,
    @slim java : je veut faire le zoom (in et out) sur le contenue du canvas par le JSlider
    j'ai déclaré les zoomx et zoomy au début du class et j'ai l'initialise comme double zoomx=0.8;
    mais lorsque je compile le contenue du canvas fait un zoom que pour une seule variation du slider puis il reste constante
    @plegat: j'ai récupéré les valeurs du slider pour faire l'ajout d'une pas ou le retrait d'une pas de zoomx et de zoomy
    merci d'avance Mr pous vos aides

  11. #11
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    Citation Envoyé par hammasaidi Voir le message
    mais lorsque je compile le contenue du canvas fait un zoom que pour une seule variation du slider puis il reste constante
    salut
    tu peux essayer l'événement mouseDragged et mouseReleased

  12. #12
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 46
    Par défaut
    bonsoir,
    un grand merci pour vos aides Mr
    mais j'ai pas arrivé de trouvé le problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    f.addChangeListener(new ChangeListener(){
    		 	public void stateChanged(ChangeEvent e){
    		 		JSlider source = (JSlider)e.getSource();
    		 		 if (!source.getValueIsAdjusting()){
    		 		 	 int fts  = (int)source.getValue();
     
    		 		 	 	zoomx=zoomx+fts;
     
     
     
    		 		 }	repaint();
    		 	}
    		 });
    ca fonctionne mais avec la première itération du slider
    merci d'avance Mr

  13. #13
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 46
    Par défaut
    bonjour,
    merci pour tt vos aides
    le truc est résolut

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

Discussions similaires

  1. Zoom sur canvas
    Par Shaylen dans le forum JavaFX
    Réponses: 2
    Dernier message: 01/01/2015, 21h27
  2. [VB.NET] Statistique sur le contenu d'un DATASET
    Par stephane93fr dans le forum Windows Forms
    Réponses: 2
    Dernier message: 17/01/2005, 13h51
  3. Zoom sur une image
    Par AurelBUD dans le forum C++Builder
    Réponses: 5
    Dernier message: 07/05/2004, 17h05
  4. zoom sur image de formulaire
    Par bourvil dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/10/2003, 09h25
  5. Zoom sur des vecteurs ou lignes
    Par mat.M dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 25/11/2002, 10h40

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