使用Matlab App Designer获取鼠标点

时间:2018-02-22 15:40:04

标签: matlab matlab-app-designer

我意识到App设计师不支持交互式图形处理,但我想知道我是否可以打开一个单独的图形窗口(不是UI窗口),其上显示我的图形,这样我仍然可以获得鼠标的位置点击。目前,下面的代码在我的GUI上显示该图,然后打开另一个记录鼠标点击的空白图。这很好,但我也需要在新窗口中显示图形,并且我很难这样做。

first frame = vid(:,:,:,1);
imshow(firstframe,'Parent',app.UIAxes); 
[centers_X centers_Y]=getpts;

1 个答案:

答案 0 :(得分:0)

对我有用的是在图像而不是轴上设置回调:

ih = imshow(firstframe,'Parent',app.UIAxes);
ih.ButtonDownFcn = {@im_ButtonDownFcn, app}; %app will be passed to the callback

然后在同一文件夹中的单独文件中(或作为appdesigner中的私有功能...它应该可以工作,但我没有尝试过):

function im_ButtonDownFcn(im, hit, app)
mouse_pos = flip(hit.IntersectionPoint(1:2)); %gives floats. Round if you want integers e.g. for indexing pixels