Je ne sais pas si cela répond à votre question, mais des objets de terrain (à savoir lines, patches, images, etc.) ont un rappel ButtonDownFcn
qui exécutera lorsque vous appuyez sur un bouton de la souris alors que le pointeur se trouve sur l'objet.
Voici un exemple simple (en utilisant nested functions et function handles) de la façon dont vous pouvez utiliser ButtonDownFcn
callbacks pour obtenir des informations sur les objets sélectionnés. Tout d'abord, enregistrez cette fonction dans un m-file:
function colorFcn = colored_patches
selectedColor = [1 0 0]; %# The default selected color
figure; %# Create a new figure
axes; %# Create a new axes
patch([0 0 1 1],[0 1 1 0],'r',... %# Plot a red box
'ButtonDownFcn',@patch_callback);
hold on; %# Add to the existing plot
patch([2 2 4 4],[1 2 2 1],'g',... %# Plot a green box
'ButtonDownFcn',@patch_callback);
patch([1 1 2 2],[3 4 4 3],'b',... %# Plot a blue box
'ButtonDownFcn',@patch_callback);
axis equal; %# Set axis scaling
colorFcn = @get_color; %# Return a function handle for get_color
%#---Nested functions below---
function patch_callback(src,event)
selectedColor = get(src,'FaceColor'); %# Set the selected color to the
%# color of the patch clicked on
end
function currentColor = get_color
currentColor = selectedColor; %# Return the last color selected
end
end
Ensuite, exécutez le code ci-dessus et enregistrez la poignée de fonction renvoyée dans une variable:
colorFcn = colored_patches;
Cela va créer une figure avec 3 cases colorées , comme ceci:
maintenant, lorsque vous cliquez sur la souris sur une des cases de couleur, la sortie de colorFcn
sera chan ge:
%# Click the red box, then call colorFcn
>> colorFcn()
ans =
1 0 0 %# Returns red
%# Click the blue box, then call colorFcn
>> colorFcn()
ans =
0 0 1 %# Returns blue
%# Click the green box, then call colorFcn
>> colorFcn()
ans =
0 1 0 %# Returns green
Merci d'avoir répondu ... Oui, je veux l'utilisateur de cliquer sur l'image (tout objet dans l'image) et obtenir les coordonnées où ils cliquent sur ... Si je reçois ce coordonnées puis je vais essayer pour appliquer la fonction ginput ... merci beaucoup – zenab
désolé pour cette erreur ... Je vais continuer ma question ... Si je reçois les coordonnées de l'objet puis-je traiter avec cet objet comme une image? – zenab
J'ai édité la question pour illustrer. –