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

Interfaces Graphiques Discussion :

N'afficher qu'une seule image au lieu de plusieurs et faire défiler les autres avec la roulette. [Débutant]


Sujet :

Interfaces Graphiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2013
    Messages : 23
    Par défaut N'afficher qu'une seule image au lieu de plusieurs et faire défiler les autres avec la roulette.
    Bonjour à tous,
    J'ai un code qui me fais apparaître une centaine d'image en sortie de programme. Au lieu d'avoir ces 100 figures, je n'aimerai en avoir qu'une seule et faire apparaître les autres une par une dans la même fenêtre à l'aide de la roulette de la souris. Avez-vous des idées? Je vous remercie, si besoin je peux vous montrer des extraits de code pour vous montrer comment mes images sont créées (je pense qu'il faut utiliser "WindowScrollWheelFcn" mais je ne vois pas comment.)

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Tu dois sûrement avoir une ligne figure qui traine.
    Supprime-la, et rajoute clf pour effacer le contenu affiché de l'itération précédente et ça devrait aller mieux

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2013
    Messages : 23
    Par défaut
    Avec "clf" je n'ai bien que la dernière image qui s'affiche mais comment je peux remonter aux autres en utilisant la molette de la souris sur la même fenêtre? (sachant que j'ai deux images qui s'affiche sur la même figure)

    Edit : sur chaque figure j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    subplot(2,2,[1 3])
        imshow(I,'DisplayRange',[], 'XData', [info.ImagePositionPatient(1) info.ImagePositionPatient(1)+Xend],...
            'YData',[info.ImagePositionPatient(2) info.ImagePositionPatient(2)+Yend]);
    plot(x,y,'.');
     
     
    subplot(2,2,[2 4])
    plot(xcomp,zcomp,'.');
     plot(domaine,hauteur);

  4. #4
    Invité
    Invité(e)
    Par défaut
    Un exemple :
    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
    function exemple
     
    handleFigure = figure('WindowScrollWheelFcn', @windowScrollWheelFcn);
    currentIndex = 1;
     
     
        function windowScrollWheelFcn(hObject, eventData)
            if(eventData.VerticalScrollCount > 0)
                currentIndex = currentIndex + 1;
            else
                currentIndex = currentIndex - 1;
            end
            drawImage(currentIndex)
        end
     
        function drawImage(index)
            clf(handleFigure)
            % ici tu affiches l'image correspondant à l'indice index
        end
    end
    Je te laisse le soin de la gestion des limites de currentIndex dans la fonction WindowScrollWheelFcn

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2013
    Messages : 23
    Par défaut
    Voilà ce que j'ai tapé

    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
     
    for i=start:fin
    handleFigure{i} = figure('WindowScrollWheelFcn', @windowScrollWheelFcn);
        currentIndex = i;
        clf;
    function windowScrollWheelFcn(hObject, eventData)
     
         if (eventData.VerticalScrollCount > 0 && currentIndex<fin)
                currentIndex = currentIndex + 1;
         elseif (eventData.VerticalScrollCount < 0 && currentIndex>start)
                currentIndex = currentIndex - 1;
         else
         end
            drawImage(currentIndex)
        end
     
     
        function drawImage(currentIndex)
            clf(handleFigure{currentIndex})
        end
     
    end

    Mais lorsque je l'éxecute, il m'affiche quand même les 100 images et lorsque je tourne la molette, il m'efface le contenu de la figure sans rien ré afficher derrière....(je ne t'ai pas ré écrit tout le code mais seulement la partie qui gère l'affichage)

  6. #6
    Invité
    Invité(e)
    Par défaut
    Ce n'est pas une boucle for que tu dois faire, as-tu vu le commentaire que j'ai laissé ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      % ici tu affiches l'image correspondant à l'indice index
    Tu n'as pas à modifier le code déjà établi.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/03/2013, 10h47
  2. [MySQL] Afficher les données dans un tableau html horizontal avec une seule requête au lieu de 6
    Par arthuro45 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/10/2010, 11h13
  3. affiche une seule image à la fois
    Par faamugol dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/02/2009, 11h02
  4. [Debutant] echo n'affiche qu'une seule ligne
    Par ben_harper dans le forum Linux
    Réponses: 6
    Dernier message: 04/10/2007, 17h40
  5. Le code source s'affiche sur une seule ligne!
    Par Emcy dans le forum Général Conception Web
    Réponses: 10
    Dernier message: 06/12/2006, 09h12

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