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 :

Récupération clic de souris sur une image dans un GUI [Débutant]


Sujet :

Interfaces Graphiques

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 182
    Points : 59
    Points
    59
    Par défaut Récupération clic de souris sur une image dans un GUI
    Bonjour,

    J'ai crée une interface graphique avec l'outil GUI de Matlab. J'ai découpé une image en 9 parties égales et je les ai affichées à l'aide de 9 "axes".
    Maintenant je voudrais créer une interaction entre ces images et l'utilisateur: celui-ci doit cliquer sur une (et une seule!) de ces 9 images. Je souhaiterais ensuite savoir sur quelle image il a cliqué et retenir cette information.

    En faisant quelques recherches, j'ai vu qu'on pouvait activer une option "ButtonDownFcn" grace au propoerty inspector, ce qui a pour action de rajouter une partie dans le fichier.m :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    % --- Executes on mouse press over axes background.
    function axesVent1_ButtonDownFcn(hObject, eventdata, handles)
    % hObject    handle to axesVent1 (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    J'ai aussi vu qu'on pouvait utiliser des actions comme WindowButtunUpFcn:

    "Certains objets n'ont pas de callback (cas des figures) mais possèdent d'autres actions associées à la souris. Leur emploi est identique au callback classique (description de la fonction en liste d'instructions). Les principales sont :
    WindowButtonUpFcn WindowButtonDownFcn WindowButtonMotionFcn"


    Cependant, même avec ces informations et l'aide de Matlab, je ne vois pas bien comment faire... J'espère avoir clairement exposé mon problème.

    Merci d'avance pour vos réponses !

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

    Ce n'est pas sur l'objet Axes qu'il faut utiliser la propriété ButtonDownFcn mais sur l'objet Image.
    Un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function exemple 
     
    I =imread('cameraman.tif');
    subplot(131) , hIm(1) = imshow(I);
    subplot(132) , hIm(2) = imshow(I);
    subplot(133) , hIm(3) = imshow(I);
    set(hIm,'ButtonDownFcn',@ButtonDown)
     
        function ButtonDown(hObject, eventData)
            msgbox(sprintf('Cliqué sur l''image %d',find(hIm==hObject)))
        end
    end

  3. #3
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 182
    Points : 59
    Points
    59
    Par défaut
    J'ai testé votre 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
    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
    function varargout = test_image(varargin)
    % TEST_IMAGE MATLAB code for test_image.fig
    %      TEST_IMAGE, by itself, creates a new TEST_IMAGE or raises the existing
    %      singleton*.
    %
    %      H = TEST_IMAGE returns the handle to a new TEST_IMAGE or the handle to
    %      the existing singleton*.
    %
    %      TEST_IMAGE('CALLBACK',hObject,eventData,handles,...) calls the local
    %      function named CALLBACK in TEST_IMAGE.M with the given input arguments.
    %
    %      TEST_IMAGE('Property','Value',...) creates a new TEST_IMAGE or raises the
    %      existing singleton*.  Starting from the left, property value pairs are
    %      applied to the GUI before test_image_OpeningFcn gets called.  An
    %      unrecognized property name or invalid value makes property application
    %      stop.  All inputs are passed to test_image_OpeningFcn via varargin.
    %
    %      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
    %      instance to run (singleton)".
    %
    % See also: GUIDE, GUIDATA, GUIHANDLES
     
    % Edit the above text to modify the response to help test_image
     
    % Last Modified by GUIDE v2.5 25-Apr-2012 10:25:17
     
    % Begin initialization code - DO NOT EDIT
    gui_Singleton = 1;
    gui_State = struct('gui_Name',       mfilename, ...
                       'gui_Singleton',  gui_Singleton, ...
                       'gui_OpeningFcn', @test_image_OpeningFcn, ...
                       'gui_OutputFcn',  @test_image_OutputFcn, ...
                       'gui_LayoutFcn',  [] , ...
                       'gui_Callback',   []);
    if nargin && ischar(varargin{1})
        gui_State.gui_Callback = str2func(varargin{1});
    end
     
    if nargout
        [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
    else
        gui_mainfcn(gui_State, varargin{:});
    end
    % End initialization code - DO NOT EDIT
     
     
    % --- Executes just before test_image is made visible.
    function test_image_OpeningFcn(hObject, eventdata, handles, varargin)
    % This function has no output args, see OutputFcn.
    % hObject    handle to figure
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    % varargin   command line arguments to test_image (see VARARGIN)
     
    % Choose default command line output for test_image
    handles.output = hObject;
     
    % Update handles structure
    guidata(hObject, handles);
     
    % UIWAIT makes test_image wait for user response (see UIRESUME)
    % uiwait(handles.figure1);
     
     
    I =imread('logo1.jpg');
    subplot(131) , hIm(1) = imshow(I);
    subplot(132) , hIm(2) = imshow(I);
    subplot(133) , hIm(3) = imshow(I);
    set(hIm,'ButtonDownFcn',@ButtonDown)
     
        function ButtonDown(hObject, eventData)
            msgbox(sprintf('Cliqué sur l''image %d',find(hIm==hObject)))
     
     
    % --- Outputs from this function are returned to the command line.
    function varargout = test_image_OutputFcn(hObject, eventdata, handles) 
    % varargout  cell array for returning output args (see VARARGOUT);
    % hObject    handle to figure
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
     
    % Get default command line output from handles structure
    varargout{1} = handles.output;
    J'obtiens trois images. Mais quand je clique, une erreur apparait dans la console matlab:

    Error in ==> test_image>ButtonDown at 72
            msgbox(sprintf('Cliqué sur l''image %d',find(hIm==hObject)))
     
    ??? Error while evaluating image ButtonDownFcn
    
    ??? Undefined function or variable 'hIm'.
    Qu'est-ce que représente hIm ?

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 304
    Points : 52 881
    Points
    52 881
    Par défaut
    Citation Envoyé par Ma29200 Voir le message
    Qu'est-ce que représente hIm ?
    hIm est l'identifiant des objets Image que tu crées avec IMSHOW
    => Présentation des objets graphiques

    Essaie ceci :

    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
    function varargout = test_image(varargin)
    % TEST_IMAGE MATLAB code for test_image.fig
    %      TEST_IMAGE, by itself, creates a new TEST_IMAGE or raises the existing
    %      singleton*.
    %
    %      H = TEST_IMAGE returns the handle to a new TEST_IMAGE or the handle to
    %      the existing singleton*.
    %
    %      TEST_IMAGE('CALLBACK',hObject,eventData,handles,...) calls the local
    %      function named CALLBACK in TEST_IMAGE.M with the given input arguments.
    %
    %      TEST_IMAGE('Property','Value',...) creates a new TEST_IMAGE or raises the
    %      existing singleton*.  Starting from the left, property value pairs are
    %      applied to the GUI before test_image_OpeningFcn gets called.  An
    %      unrecognized property name or invalid value makes property application
    %      stop.  All inputs are passed to test_image_OpeningFcn via varargin.
    %
    %      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
    %      instance to run (singleton)".
    %
    % See also: GUIDE, GUIDATA, GUIHANDLES
    
    % Edit the above text to modify the response to help test_image
    
    % Last Modified by GUIDE v2.5 25-Apr-2012 10:25:17
    
    % Begin initialization code - DO NOT EDIT
    gui_Singleton = 1;
    gui_State = struct('gui_Name',       mfilename, ...
        'gui_Singleton',  gui_Singleton, ...
        'gui_OpeningFcn', @test_image_OpeningFcn, ...
        'gui_OutputFcn',  @test_image_OutputFcn, ...
        'gui_LayoutFcn',  [] , ...
        'gui_Callback',   []);
    if nargin && ischar(varargin{1})
        gui_State.gui_Callback = str2func(varargin{1});
    end
    
    if nargout
        [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
    else
        gui_mainfcn(gui_State, varargin{:});
    end
    % End initialization code - DO NOT EDIT
    
    
    % --- Executes just before test_image is made visible.
    function test_image_OpeningFcn(hObject, eventdata, handles, varargin)
    % This function has no output args, see OutputFcn.
    % hObject    handle to figure
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    % varargin   command line arguments to test_image (see VARARGIN)
    
    % Choose default command line output for test_image
    handles.output = hObject;
    
    % Update handles structure
    guidata(hObject, handles);
    
    % UIWAIT makes test_image wait for user response (see UIRESUME)
    % uiwait(handles.figure1);
    
    
    I = imread('logo1.jpg','jpg');
    subplot(131) , hIm(1) = imshow(I);
    subplot(132) , hIm(2) = imshow(I);
    subplot(133) , hIm(3) = imshow(I);
    set(hIm,'ButtonDownFcn',{@ButtonDown,hIm})
    
    function ButtonDown(hObject, eventData,hIm)
    msgbox(sprintf('Cliqué sur l''image %d',find(hIm==hObject)))
    
    
    % --- Outputs from this function are returned to the command line.
    function varargout = test_image_OutputFcn(hObject, eventdata, handles)
    % varargout  cell array for returning output args (see VARARGOUT);
    % hObject    handle to figure
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    
    % Get default command line output from handles structure
    varargout{1} = handles.output;
    Je te conseille aussi la lecture de ces deux articles :

  5. #5
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 182
    Points : 59
    Points
    59
    Par défaut
    Merci, mon test fonctionne avec le code que tu m'as conseillé Dut.

    Pour garder en mémoire la sélection d'une des trois images, faut-il utiliser "get(hIm,'CurrentPoint')" ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    La propriété 'CurrentPoint' n'existe pas pour les objets Image. Seuls les objets Axes et Figure la possède, et elle représente la position de la souris.
    Que souhaites-tu faire exactement ?

  7. #7
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 182
    Points : 59
    Points
    59
    Par défaut
    Mon projet est de créer une webcam météorologique. En fait, mon image coupée en 9 zones est l'image donnée par la webcam. L'utilisateur devra sélectionner la zone la plus susceptible de bouger (zone dans laquelle il y a un arbre par exemple).
    Il faut que l'on garde cette zone en mémoire afin que dans la suite du programme on ne fasse des calculs que sur cette zone pour déterminer s'il y a du vent ou non.

    Je ne sais pas si je suis précise...

  8. #8
    Invité
    Invité(e)
    Par défaut
    Donc si je comprends bien tu souhaites récupérer la position de la souris au moment du clic.
    Dans ce cas il te suffit de récupérer le 'Parent' de l'objet Image cliqué, puis de récupérer son 'CurrentPoint'.

  9. #9
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 182
    Points : 59
    Points
    59
    Par défaut
    Je ne comprends pas tout. Comment fait-on cela?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    I = imread('logo1.jpg','jpg');
    subplot(131) , hIm(1) = imshow(I);
    subplot(132) , hIm(2) = imshow(I);
    subplot(133) , hIm(3) = imshow(I);
    set(hIm,'ButtonDownFcn',{@ButtonDown,hIm})
     
    %get(hIm,'parent') ???
    %get(hIm,'CurrentPoint') ???
     
    function ButtonDown(hObject, eventData,hIm)
    msgbox(sprintf('Cliqué sur l''image %d',find(hIm==hObject)))
    De plus:
    Est-ce que set(hIm,'ButtonDownFcn',{@ButtonDown,hIm}) est lié à la fonction qui suit "function ButtonDown(hObject, eventData,hIm)"? Ou est-ce indépendant?

  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Ma29200 Voir le message
    Est-ce que set(hIm,'ButtonDownFcn',{@ButtonDown,hIm}) est lié à la fonction qui suit "function ButtonDown(hObject, eventData,hIm)"? Ou est-ce indépendant?
    Bien sûr que c'est lié.

    Commence par lire attentivement les liens de Dut.

  11. #11
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 182
    Points : 59
    Points
    59
    Par défaut
    J'ai testé cela:

    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
    I = imread('logo1.jpg','jpg');
    subplot(131) , hIm(1) = imshow(I);
    subplot(132) , hIm(2) = imshow(I);
    subplot(133) , hIm(3) = imshow(I);
    set(hIm,'ButtonDownFcn',{@ButtonDown,hIm})
     
     
     
    function ButtonDown(hObject, eventData,hIm)
    msgbox(sprintf('Cliqué sur l''image %d',find(hIm==hObject)))
    %get(hIm,'CurrentPoint')
    h=findobj('parent',hIm);
    a=get(h,'CurrentPoint')
    a
    hObject
    hIm

    En cliquant sur l'image 2, j'obtiens dans la commande:

    a =
    
         []
    
    
    a =
    
         []
    
    
    hObject =
    
        6.0107
    
    
    hIm =
    
        1.0107    6.0107   11.0107

    -Ai-je bien utiliser le findobj et set pour récupérer le parent et trouver son current point? Pourquoi est-ce que l'on obtient a = [] ?

    -hObject semble définir par une valeur (ici 1.0107, 6.0107 ou 11.0107) l'image qu'on a cliqué. Que représentent ces valeurs? hObject n'est-il pas la solution pour savoir sur quelle image on a cliqué tout simplement?

  12. #12
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Ma29200 Voir le message
    -Ai-je bien utiliser le findobj et set pour récupérer le parent et trouver son current point? Pourquoi est-ce que l'on obtient a = [] ?
    Non, c'est la fonction get qu'il te faut utiliser.
    Citation Envoyé par Ma29200 Voir le message
    -hObject semble définir par une valeur (ici 1.0107, 6.0107 ou 11.0107) l'image qu'on a cliqué. Que représentent ces valeurs? hObject n'est-il pas la solution pour savoir sur quelle image on a cliqué tout simplement?
    Les identifiants des objets graphiques Ma remarque précédente tient toujours.
    Je te conseille d'étudier précisément mon exemple.

  13. #13
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 182
    Points : 59
    Points
    59
    Par défaut
    Oui c'est get et non set qu'il faut utiliser, jme suis trompée en l'écrivant mais c'est bien get que j'ai utilisé dans le code... alors est-ce correct svp?

    Vous me dites d'étudier précisément votre exemple mais c'est ce que je fais. Je me contente de tenter de comprendre sur votre exemple avant de passer à mon programme

  14. #14
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Ma29200 Voir le message
    Oui c'est get et non set qu'il faut utiliser, jme suis trompée en l'écrivant mais c'est bien get que j'ai utilisé dans le code... alors est-ce correct svp?
    Sans code difficile de me prononcer Et il n'y a pas de set dans ton code (hormis celui déjà fourni par Dut).

    Citation Envoyé par Ma29200 Voir le message
    Vous me dites d'étudier précisément votre exemple mais c'est ce que je fais. Je me contente de tenter de comprendre sur votre exemple avant de passer à mon programme
    Dans ce cas, j'attire ton attention à ce qui est passé dans sprintf

  15. #15
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 182
    Points : 59
    Points
    59
    Par défaut
    Sans code difficile de me prononcer
    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
    I = imread('logo1.jpg','jpg');
    subplot(131) , hIm(1) = imshow(I);
    subplot(132) , hIm(2) = imshow(I);
    subplot(133) , hIm(3) = imshow(I);
    set(hIm,'ButtonDownFcn',{@ButtonDown,hIm})
    
    
    
    function ButtonDown(hObject, eventData,hIm)
    msgbox(sprintf('Cliqué sur l''image %d',find(hIm==hObject)))
    %get(hIm,'CurrentPoint')
    h=findobj('parent',hIm);
    a=get(h,'CurrentFigure')
    a
    hObject
    hIm
    Dans ce cas, j'attire ton attention à ce qui est passé dans sprintf
    Dans le sprintf, find(hIm==hObject) indique si c'est l'image 1, 2 ou 3 qui a été cliqué.

  16. #16
    Invité
    Invité(e)
    Par défaut
    Pardon si j'ai du mal à voir le changement

    Citation Envoyé par Ma29200 Voir le message
    Dans le sprintf, find(hIm==hObject) indique si c'est l'image 1, 2 ou 3 qui a été cliqué.
    Oui mais encore... de quelle façon ?

  17. #17
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 182
    Points : 59
    Points
    59
    Par défaut
    C'est bon j'ai compris, merci
    En fait c'est find(hIm==hObject) qui indique 1,2 ou 3 dans la commande Matlab.

    Maintenant je passe à l'application pour mon programme. Seulement, le principe est un peu différent de votre exemple car je n'utilise pas subplot pour afficher les images mais 9 "axes" dans le GUI que je remplace ensuite par des bouts d'image:
    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
        axes(handles.axesVent1)
        imshow(VENTLIVE{1,1});
        axes(handles.axesVent2)
        imshow(VENTLIVE{1,2});
        axes(handles.axesVent3)
        imshow(VENTLIVE{1,3});
        axes(handles.axesVent4)
        imshow(VENTLIVE{2,1});
        axes(handles.axesVent5)
        imshow(VENTLIVE{2,2});
        axes(handles.axesVent6)
        imshow(VENTLIVE{2,3});
        axes(handles.axesVent7)
        imshow(VENTLIVE{3,1});
        axes(handles.axesVent8)
        imshow(VENTLIVE{3,2});
        axes(handles.axesVent9)
        imshow(VENTLIVE{3,3});
    Puis quand même utiliser des hIm(...) pour définir chacun des 9 imshow?
    Comme ceci par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        axes(handles.axesVent1)
        hIm(1)=imshow(VENTLIVE{1,1});
        axes(handles.axesVent2)
        hIm(2)=imshow(VENTLIVE{1,2});
        axes(handles.axesVent3)
        hIm(3)=imshow(VENTLIVE{1,3});
    ...

  18. #18
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Ma29200 Voir le message
    Puis quand même utiliser des hIm(...) pour définir chacun des 9 imshow?
    Oui pas de problème

  19. #19
    Membre du Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 182
    Points : 59
    Points
    59
    Par défaut
    Yes ! Ça fonctionne, merci beaucoup pour tes conseils !


    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
        axes(handles.axesVent1)
        hIm(1)=imshow(VENTLIVE{1,1});
        axes(handles.axesVent2)
        hIm(2)=imshow(VENTLIVE{1,2});
        axes(handles.axesVent3)
        hIm(3)=imshow(VENTLIVE{1,3});
        axes(handles.axesVent4)
        hIm(4)=imshow(VENTLIVE{2,1});
        axes(handles.axesVent5)
        hIm(5)=imshow(VENTLIVE{2,2});
        axes(handles.axesVent6)
        hIm(6)=imshow(VENTLIVE{2,3});
        axes(handles.axesVent7)
        hIm(7)=imshow(VENTLIVE{3,1});
        axes(handles.axesVent8)
        hIm(8)=imshow(VENTLIVE{3,2});
        axes(handles.axesVent9)
        hIm(9)=imshow(VENTLIVE{3,3});  
     
        set(hIm,'ButtonDownFcn',{@ButtonDown,hIm})
     
     
     
    function ButtonDown(hObject, eventData,hIm)
    msgbox(sprintf('Cliqué sur l''image %d',find(hIm==hObject)))
     
    find(hIm==hObject)


    Une dernière chose...
    Pour mon projet, j'ai deux interfaces graphiques différentes. La première fera appel à la seconde. Cette valeur (le numéro de l'image sélectionnée) sera dans la première interface mais devra être utilisée dans la seconde. Les données des deux interfaces sont-elles interchangeables? Si oui, comment?

  20. #20
    Invité
    Invité(e)
    Par défaut
    Il te suffit de les faire passer en paramètres

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/07/2013, 15h00
  2. [Clic de souris sur une image]
    Par onigiri03 dans le forum GTK+
    Réponses: 3
    Dernier message: 12/04/2013, 13h05
  3. Réponses: 5
    Dernier message: 09/09/2006, 23h49
  4. Réponses: 4
    Dernier message: 08/09/2006, 04h36
  5. coordonnées d'un clic souris sur une image
    Par marcuswgs84 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/01/2005, 19h08

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