ginput turning off cursor R2016a

20 vues (au cours des 30 derniers jours)
Michael Vaiana
Michael Vaiana le 1 Mar 2017
I am writing a GUI with guide and when I call ginput it turns off my mouse cursor. I know this is an old issue that was apparently resolved but I am still experiencing the problem in MATLAB 2016a.
I am calling ginput after a ButtonDownFcn as follows:
% load an image into the axis and set buttondownfnc
function load_image_Callback(hOBject, eventdata, handles)
...
set(handles.img, 'ButtonDownFcn', {@my_button_press, handles})
...
end
%call ginput upon buttdown
function my_button_press(src, ~, handles)
[x,y] = ginput(1);
...
end
When I click the image my cursor disappears, if I click again I get the x,y corrdinates of the point I click, so ginput is working, but I can't see where I'm clicking. Any ideas?
  2 commentaires
Sonam Gupta
Sonam Gupta le 8 Mar 2017
Tom Dresselaers
Tom Dresselaers le 21 Sep 2017
Modifié(e) : Tom Dresselaers le 21 Sep 2017
I tried it in R2016a but did not work. Other options?
my workaround create your own myginput with modification (store in your working dir): set(gcf,'Pointer','crosshair','PointerShapeCData',cdata,'PointerShapeHotSpot',hotspot) % original version: set(gcf,'Pointer','custom','PointerShapeCData',cdata,'PointerShapeHotSpot',hotspot)

Connectez-vous pour commenter.

Réponses (1)

Sam McDonald
Sam McDonald le 8 Mar 2017
The cursor does disappear, but you should be able to see the crosshairs that appear once you move the mouse. If those are not being displayed, you could try the following
1. Execute:
opengl software
That will switch to a software version of OpenGL. If that resolves the issue, make sure your graphics driver is up-to-date. Visit the manufacturer's website for the latest driver rather than trusting the operating system.
2. Change the figure renderer. 'opengl' is default, but there is also 'painters'.
  1 commentaire
Michael Vaiana
Michael Vaiana le 9 Avr 2017
I'm so sorry for the extremely late reply. I tried suggestions 1 3 does give me the cursor but it is not very fluid. For example, sometimes I click and nothing seems to happen and then I click again and all of the sudden I have 2 points.
1, unfortunately, didn't help at all. I'm working on 2 but I can't seem to figure out how to get the figure handle for the axes to change the renderer to painters.
I also made a discovery. I am calling ginput after a ButtonDwnFnc call so I can restrict it to a certain axes. When I use ginput without such a ButtonDwnFnc the crosshairs show up. The problem is they show up on the whole image and not the specified axis. So it seems to be a problem with calling ginput from a ButtonDwnFnc call.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Data Exploration dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by