matlab另建程序绘图,今天,我用matlab做了一个实用的GUI绘图程序,和一个扫描........

程序1:function usemouse

%传个程序给你们玩玩,实时捕捉鼠标指针的位置并改变线条的颜色,左键开始绘图,右键停止绘图

s.hf=figure('name','用鼠标绘图',...

'numbertitle','off',...

'tag','figure1',...

'units','normalized',...

'position',[.1 .1 .8 .8]);

s.haxes=axes('parent',s.hf,...

'units','normalized',...

'position',[.1 .1 .8 .8],...

'xTick',[],'yTick',[],...

'Box','on');

set(s.hf,'windowbuttondownfcn',@figure1_windowbuttondownfcn);

set(s.hf,'windowbuttonmotionfcn',@figure1_windowbuttonmotionfcn);

global draw_enable

draw_enable=0;

function figure1_windowbuttondownfcn(hobj,event)

global draw_enable;

global x;

global y;

global h1;

if strcmp(get(hobj,'selectiontype'),'normal')

draw_enable=1;

p=get(gca,'currentpoint');

x(1)=p(1);

y(1)=p(3);

x(2)=p(1);

y(2)=p(3);

h1=line(x,y,'erasemode','none');

end

if strcmp(get(hobj,'selectiontype'),'alt')

draw_enable=0;

end

function figure1_windowbuttonmotionfcn(hobj,event)

global draw_enable;

global x;

global y;

global h1;

p=get(gca,'currentpoint');

set(hobj,'name',['鼠标位置(',num2str(p(1)),',',num2str(p(3)),')']);

if draw_enable==1

x(2)=p(1);

y(2)=p(3);

set(h1,'xdata',x,'ydata',y,'color',sqrt(abs([(x(2)-x(1))^2,(y(2)-y(1))^2,x(2)*y(2)-x(1)*y(1)])),'marker','*','markersize',5,'LineStyle',':');

end

%abs(floor(2*sin(rand(1,3))))

%abs([x(2)-x(1),y(2)-y(1),x(2)*x(1)*y(1)*y(2)])

%sqrt(abs([x(2)^2-x(1)^2,y(2)^2-y(1)^2,x(2)*x(1)*y(1)*y(2)]))

%sqrt(abs([(x(2)-x(1))^2,(y(2)-y(1))^2,x(2)*y(2)-x(1)*y(1)]))

程序2:

点击鼠标左键,小窗口放大图片跟随鼠标指针实时移动,“⊙”符号的中心指向指针位置;点击鼠标右键,小窗口图片停止,再次点击鼠标左键,小图片重新启动;点击开关,小图片隐藏,指针形状改变为‘arrow’;再次点击,小图片显现,指针形状恢复。滑动滚动条,小图片放大倍数随之改变

function varargout = draw(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name',       mfilename, ...

'gui_Singleton',  gui_Singleton, ...

'gui_OpeningFcn', @draw_OpeningFcn, ...

'gui_OutputFcn',  @draw_OutputFcn, ...

'gui_LayoutFcn',  [] , ...

'gui_Callback',   []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

function draw_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

guidata(hObject, handles);

global on;

global off;

global bg;

global zoom;

zoom=2;

bg=imread('55417-106.jpg');

on=imread('on.jpg');

off=imread('off.jpg');

set(handles.togglebutton1,'cdata',on);

imshow(bg)

set(gcf,'Pointer',' fullcrosshair')

global draw_enable;

draw_enable=0;

a=get(handles.axes1,'position');

b=get(handles.pushbutton6,'position');

%left(find(left==0))=200;

left=bg(a(4)-b(2)-b(4):a(4)-b(2),b(1):b(1)+b(3),:);

set(handles.pushbutton6,'cdata',left);

function varargout = draw_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

function axes1_CreateFcn(hObject, eventdata, handles)

set(hObject,'xtick',[],'xticklabel',[],'ytick',[],'yticklabel',[],...

'box','on')%,

global bg;

function togglebutton1_Callback(hObject, eventdata, handles)

global on;

global off;

if get(hObject,'value')==1

set(hObject,'cdata',off);

set(handles.pushbutton6,'visible','off');

set(handles.figure1,'pointer','arrow');

else

set(hObject,'cdata',on);

set(handles.pushbutton6,'visible','on');

set(handles.figure1,'pointer','fullcrosshair');

end

function pushbutton6_Callback(hObject, eventdata, handles)

function pushbutton6_CreateFcn(hObject, eventdata, handles)

function figure1_WindowButtonDownFcn(hObject, eventdata, handles)

global bg;

global draw_enable;

if strcmp(get(hObject,'selectiontype'),'normal')

draw_enable=1;

p=get(handles.axes1,'currentpoint');

b=get(handles.pushbutton6,'position');

lg=bg(fix(1+abs(p(3)-b(4)/2):(p(3)+b(4)/2)),fix(1+abs(p(1)-b(3)/2):(p(1)+b(3)/2)),:);

set(handles.pushbutton6,'cdata',lg);

end

if strcmp(get(hObject,'selectiontype'),'alt')

draw_enable=0;

end

function figure1_WindowButtonMotionFcn(hObject, eventdata, handles)

global draw_enable;

a=get(hObject,'position');

global bg;

global zoom;

p=get(handles.axes1,'currentpoint');

if strcmp(get(hObject,'selectiontype'),'normal')&&draw_enable==1

b=get(handles.pushbutton6,'position');

if b(4)/4>p(3)||b(3)/4>p(1)||(p(3)+b(4)/4)>a(4)+64||(p(1)+b(3)/4)>a(3)+126

set(handles.pushbutton6,'enable','off');

return;

else

set(handles.pushbutton6,'enable','on');

lg=bg(fix(1+abs(p(3)-b(4)/4):(p(3)+b(4)/4)),fix(1+abs(p(1)-b(3)/4):(p(1)+b(3)/4)),:);

[m,n,k]=size(lg);

lb=imresize(lg,[zoom*m zoom*n]);

%         for i=1:m

%             for j=1:n

%                 lb(2*i-1,2*j-1,1:3)=lg(i,j,:);

%                 lb(2*i,2*j,1:3)=lg(i,j,:);

%             end

%         end

set(handles.pushbutton6,'cdata',lb);

end

end

function slider1_CreateFcn(hObject, eventdata, handles)

if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor',[.9 .9 .9]);

end

set(hObject,'value',2);

global off;

set(hObject,'cdata',off);

% --- Executes on slider movement.

function slider1_Callback(hObject, eventdata, handles)

global zoom

zoom=get(hObject,'value');

%set(hObject,'cdata',imread('off.jpg'));

55417-106.jpg

(150.29 KB, 下载次数: 590)

2015-1-14 15:52 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

8dede2f78c7a7c03b62d7dc8ab89d21d.png

off.jpg

(3.71 KB, 下载次数: 496)

2015-1-14 15:52 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

c4f4c2a98ee67b5bc11ac54618ca26bc.png

on.jpg

(3.47 KB, 下载次数: 496)

2015-1-14 15:52 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

f3711d57379a6380f4a9f4af8a1db1f4.png

2015-1-14 16:05 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

6d9c820bae0ea6fc0495c729cae26c2e.png

2015-1-14 16:07 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

81a838113e8a022cd48e9a712f925528.png

2015-1-14 16:07 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

bbdc4b212c3f5e3fdeceb15bb402442c.png

2015-1-14 16:07 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

88cdec2a0c68c86f41814644b6891398.png

小窗口图片跟随鼠标指针实时移动2.jpg

(274.69 KB, 下载次数: 28)

2015-1-14 16:07 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

0d5d47a54ca0960a54f056b0ea0c7925.png

鼠标控20.jpg

(174.01 KB, 下载次数: 0)

2015-1-14 16:12 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

c6c9d35498cc6c79a619ee70801a3836.png

鼠标控19.jpg

(226.61 KB, 下载次数: 0)

2015-1-14 16:12 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

b26f6facd1883dda7f573f11d5aff8cd.png

鼠标控18.jpg

(204.86 KB, 下载次数: 0)

2015-1-14 16:12 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

2a28ddf1cd1f052838e0d0c237abd1d3.png

鼠标控17.jpg

(227.25 KB, 下载次数: 0)

2015-1-14 16:13 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

c35635b40d418a6a7dd131d6eb01cdcf.png

鼠标控16.jpg

(100.09 KB, 下载次数: 0)

2015-1-14 16:13 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

8fd221dbed06437a3c4475cf1a32b655.png

鼠标控15.jpg

(64.53 KB, 下载次数: 1)

2015-1-14 16:13 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

764e10262b321becf8536fc4ccc49fbb.png

鼠标控14.jpg

(100.93 KB, 下载次数: 0)

2015-1-14 16:13 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

c7b75aadc673503b571018966819991c.png

鼠标控13.jpg

(113.21 KB, 下载次数: 0)

2015-1-14 16:13 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

72dbf4e09166f57b7ff1f5305031ae0a.png

鼠标控12.jpg

(183.7 KB, 下载次数: 0)

2015-1-14 16:14 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

327145cb80352375084cd16007206e95.png

鼠标控11.jpg

(49.14 KB, 下载次数: 0)

2015-1-14 16:14 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

272457cf43767001b3d57dff13fd933a.png

鼠标控10.jpg

(329.84 KB, 下载次数: 0)

2015-1-14 16:14 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

76af4f3607d8445a1be9a718edd79ca7.png

鼠标控9.jpg

(191.12 KB, 下载次数: 0)

2015-1-14 16:14 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

90a5639eba18b65d35b2c6831c34ea91.png

鼠标控8.jpg

(227.22 KB, 下载次数: 0)

2015-1-14 16:15 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

2a39bce43bd2f6cbaf04527d46a17f15.png

鼠标控7.jpg

(172.18 KB, 下载次数: 0)

2015-1-14 16:15 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

b41ff0a8551c19a1adba3f0983161165.png

鼠标控6.jpg

(163.25 KB, 下载次数: 0)

2015-1-14 16:16 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

6f3d7f0e81966b801ccafa7afacdcd45.png

鼠标控5.jpg

(179.21 KB, 下载次数: 0)

2015-1-14 16:16 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

149a5078ba7ceac6baa3e2ca1cb6a3ed.png

鼠标控4.jpg

(204.42 KB, 下载次数: 0)

2015-1-14 16:17 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

07a113930559a4a47af0bc924617f7b2.png

鼠标控3.jpg

(208.79 KB, 下载次数: 0)

2015-1-14 16:17 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

73beb88b504acef64e06556700e1f783.png

鼠标控2.jpg

(102.03 KB, 下载次数: 0)

2015-1-14 16:17 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

8cd716e0fa925a7a0e623ff329b62cd6.png

鼠标控1.jpg

(132.6 KB, 下载次数: 0)

2015-1-14 16:17 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

998be7ae16acb467e192109a148ff95c.png

2015-1-14 16:18 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

806071c91dae6cdf79c777ac25160be8.png

2a39720edc801e3a55bd2aeffaaaef89.gif

2015-1-14 15:52 上传

点击文件名下载附件

4.51 KB, 下载次数: 4651

f5c3d56501a3d0261ce0cb81cbf824a7.gif

2015-1-14 15:52 上传

点击文件名下载附件

3.56 KB, 下载次数: 4439

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值