Я создаю графический интерфейс Matlab, который позволяет пользователю использовать некоторые интерактивные инструменты для обработки изображений (один m-файл без файла рис.),
, например, поворот изображения с imrotate
и параметром угла и очистка пикселейс bwareaopen
и параметром области.
Сначала я думал о том, чтобы нанести инструменты с моим mfile чем-то вроде
function myGUI( grayI )
h_fig = figure;
h_ax = imshow( grayI );
title('Drag line and press button to rotate image');
ImgSize = size(grayI);
h_lev = imline(gca, [ 0.2*ImgSize(2), 0.1*ImgSize(1); ...
0.8*ImgSize(2) 0.1*ImgSize(1) ] );
h_lev.addNewPositionCallback( @LineUpdateFcn );
% text for the angle
h_txt = uicontrol('Style','text','String','Angle = []', 'unit', 'norm', ...
'pos',[0 0.9 .1 .05]);
%add rotate button
h_btn = uicontrol('unit','norm','pos',[0 0.95 .1 .05]);
set(h_btn,'string','Rotate','callback',@RotateImageWithLever);
% save the elements data in figure
setappdata(h_fig,'h_lev',h_lev);
setappdata(h_fig,'h_ax',h_ax);
setappdata(h_fig,'h_txt',h_txt);
% wait for user to close figure
waitfor( h_fig );
, но потом я наткнулся на дизайн панели инструментов как построенный-в классе FileExchange Fireworks и подумал, что, может быть, мне не хватает правильного и удобного способа разработки панели инструментов с классами и встроенной командой uitoolbar
.
Какой-нибудь совет по проектированию моей панели инструментов из одного mfile?