用户交互matlab时保持缩放

时间:2015-02-17 11:04:16

标签: matlab zoom axes

这是我的问题:我在图中有一个轴对象。 用户可以在图像上绘制一堆点。 到目前为止,一切都正常运作。

现在,用户应能够缩放,在缩放的图像上绘制一些点,并在完成后恢复原始图像。

我有一个函数updateVisualization,每次用户对轴进行更改时都会调用它。

在此功能中,我尝试使用

zoom(h, 'reset');
imagesc(updated_img);
zoom(h, 'out');

此解决方案在每个用户进行修改时保持缩放:-)但是,一旦用户完成,他/她就无法返回到原始缩放级别。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

% Saving zoom level

xlim = get(handles.axes, 'XLim');
ylim = get(handles.axes, 'YLim');

% Displaying image

imagesc(im, 'Parent', handles.axes, 'ButtonDownFcn', @axes_ButtonDownFcn);

% Setting saved zoom level. 

set(handles.axes, 'XLim', xlim);
set(handles.axes, 'YLim', ylim);