获取图中鼠标的规范化位置



我正在尝试通过以下给出'WindowButtonDownFcn'获取鼠标的当前鼠标位置是我的代码:

   f = figure(1);
   set(f,'WindowButtonDownFcn',@mouselocation)
   uiwait(f)
    function mouselocation(source,callback)
        get(source,'CurrentPoint')
    end

当我单击时,我确实得到了鼠标的当前位置,但它们没有规范化,我尝试过:

 get(source,'CurrentPoint','units','normalized')

但它似乎给了我一个错误

输入参数过多。

可以使用

hgconvertunits在图形(或任何图形对象)的当前单位和归一化单位之间进行转换。

pt = hgconvertunits(source, [get(source, 'CurrentPoint') 1 1], ...
                    get(src, 'Units'), 'Normalized', source);
pt = pt(1:2);

或者,您只需将图形的Units更改为Normalized,然后CurrentPoint将自动以归一化单位返回。

fig = figure('Units', 'Normalized');
get(source, 'CurrentPoint')

最新更新