Если вы хотите быть дерзким об этом (мы надеемся, что идиомы переводит ...), вы можете просто указать ваш профессор к встроенной кнопки масштабирования.
A (без GUIDE) пример:
f = figure;
ax = axes('Parent', f, 'Units', 'Normalized', 'Position', [0.1 0.18 0.8 0.8]);
A = imread('ngc6543a.jpg'); % Read a built-in image as a sample
image(A, 'Parent', ax);
Однако, если вам нужен серьезный ответ, см zoom
функцию MATLAB, которая вы можете добавить в ваши кнопки обратных вызовов.
Для расширения на примере выше:
f = figure;
ax = axes('Parent', f, 'Units', 'Normalized', 'Position', [0.1 0.18 0.8 0.8]);
A = imread('ngc6543a.jpg'); % Read a built-in image as a sample
image(A, 'Parent', ax);
zoomonbutton = uicontrol('Parent', f, ...
'Style', 'pushbutton', ...
'Units', 'Normalized', ...
'Position', [0.1 0.02 0.4 0.1], ...
'String', 'Zoom On', ...
'Callback', 'zoom on' ...
);
zoomoffbutton = uicontrol('Parent', f, ...
'Style', 'pushbutton', ...
'Units', 'Normalized', ...
'Position', [0.5 0.02 0.4 0.1], ...
'String', 'Zoom Off', ...
'Callback', 'zoom off' ...
);
Где нажав 'на' кнопка включает Interactive трансфокации. От the documentation:
zoom on
Включает интерактивное масштабирование. Когда интерактивное масштабирование включено в фигуре, нажимая кнопку мыши, когда ваш курсор в пределах осей масштабируется в точку или из точки под мышкой . Масштабирование изменяет пределы осей. При использовании режима масштабирования,
Zoom in by positioning the mouse cursor where you want the center of the plot to be and either
Press the mouse button or
Rotate the mouse scroll wheel away from you (upward).
Zoom out by positioning the mouse cursor where you want the center of the plot to be and either
Simultaneously press Shift and the mouse button, or
Rotate the mouse scroll wheel toward you (downward).
И толкая «выключено» кнопка выключает этот интерактивный режим.
Надеюсь, это поможет вам в правильном направлении. Я бы посоветовал вам изучить документацию MATLAB, она очень всеобъемлющая и имеет много примеров.
Используйте ['zoom'] (http://www.mathworks.com/help/matlab/ref/zoom.html) в своих обратных вызовах кнопок, нет причин попробовать и изобретать колесо. – excaza
Также этот код на самом деле не имеет смысла, вы создаете кнопки внутри своих обратных вызовов? – excaza
В университете преподаватель дал нам задание сделать кнопку масштабирования. И никто не знает, как это сделать. Я сказал, что не знаю программы. Это просто глупая попытка :( –