获取鼠标在图中的标准化位置
Get Normalized Location of Mouse in Figure
我正在尝试通过 'WindowButtonDownFcn'
获取鼠标的当前鼠标位置,下面给出的是我的代码:
f = figure(1);
set(f,'WindowButtonDownFcn',@mouselocation)
uiwait(f)
function mouselocation(source,callback)
get(source,'CurrentPoint')
end
当我点击时,我确实得到了鼠标的当前位置,但它们没有标准化我试过:
get(source,'CurrentPoint','units','normalized')
但它似乎给我一个错误
Too many input arguments.
您可以使用 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')
我正在尝试通过 'WindowButtonDownFcn'
获取鼠标的当前鼠标位置,下面给出的是我的代码:
f = figure(1);
set(f,'WindowButtonDownFcn',@mouselocation)
uiwait(f)
function mouselocation(source,callback)
get(source,'CurrentPoint')
end
当我点击时,我确实得到了鼠标的当前位置,但它们没有标准化我试过:
get(source,'CurrentPoint','units','normalized')
但它似乎给我一个错误
Too many input arguments.
您可以使用 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')