匿名用户
1级
2012-10-02 回答
注释我就不写%了哈。
function huaban
定义函数
figure
产生一个空白图
backcolor=get(gcf,'Color');
得到当前空白图的句柄,并存在backcolor中
uicontrol(gcf,'style','text','units','normalized','pos',[0.22 0.9 0.56 0.08],...
'string','Matlab小画板','fontsize',14,'fontweight','bold',...
'fontunits','normalized','Hor','center','ForegroundColor',[0,0,0],...
'bac',backcolor)
这个是uicontrol的语句,对这个图形界面的‘style’,‘units’,‘position’等进行一系列的设置
uicontrol(gcf,'style','push','units','normalized','pos',[0.8 0.02 0.127 0.08],'string','清 除',...
'fontsize',12,'fontweight','bold','fontunits','normalized','callback','cla;')
同上
axes('Position',[0.12 0.18 0.8 0.7],'Box','on','ButtonDownFcn',{@mouse_xiezh 'start'})
对坐标轴进行设置
如果你在学GUI就要了解这个,不学GUI不用知道uicontrol怎么用。
%%-------------------------------------------------------------------------
%子函数
%%-------------------------------------------------------------------------
function mouse_xiezh(hObject, eventdata, action)
switch action
switch语句你懂得啦,不懂看一本matlab的基础教程就懂了
case 'start'
point=get(gca,'CurrentPoint');
同样是得到句柄
line(point(1,1),point(1,2),'clipping','on','erasemode','background','marker','.');
用line函数画图
set(gcbf,'WindowButtonMotionFcn',{@mouse_xiezh 'move'});
进行参数设置
set(gcbf,'WindowButtonUpFcn',{@mouse_xiezh 'stop'});
case 'move'
point=get(gca,'CurrentPoint');
line(point(1,1),point(1,2),'clipping','on','erasemode','background','marker','.');
case 'stop'
set(gcbf,'WindowButtonMotionFcn','');
set(gcbf,'WindowButtonUpFcn','');
end
这些都一样啦。你了解一下set,switch,line,get函数的用法就可以了。