Filter löschen
Filter löschen

ginput turning off cursor R2016a

4 Ansichten (letzte 30 Tage)
Michael Vaiana
Michael Vaiana am 1 Mär. 2017
Bearbeitet: Tom Dresselaers am 21 Sep. 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 Kommentare
Sonam Gupta
Sonam Gupta am 8 Mär. 2017
Tom Dresselaers
Tom Dresselaers am 21 Sep. 2017
Bearbeitet: Tom Dresselaers am 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)

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Sam McDonald
Sam McDonald am 8 Mär. 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 Kommentar
Michael Vaiana
Michael Vaiana am 9 Apr. 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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Visual Exploration finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by