




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、一個(gè)實(shí)例搞定MATLAB界面編程(最好的matlab gui界面編程入門教程) 一個(gè)實(shí)例搞定MATLAB界面編程,最好的matlab gui界面編程教程,沒有之一 一個(gè)實(shí)例搞定MATLAB界面編程 :彭軍 郵件:pjun9 博客: 下面請(qǐng)跟我一步一步做一個(gè)圖像處理的程序,假如您堅(jiān)持做完這個(gè)實(shí)例,我想MATLAB界面編程對(duì)您而言,就沒有什么難度了。當(dāng)然,我這里說(shuō)的是,您首先要有肯定的MATLAB編程基礎(chǔ)。還有,我的MATLAB版本是2021a。在2021a以前的版本中沒有工具欄編輯器,假如需要工具欄要手動(dòng)寫程序,這個(gè)我就不多講了。好了,廢話少說(shuō),跟我來(lái)吧! 在MATLAB的指令窗口(Comman
2、dWindow)中運(yùn)行g(shù)uide指令,來(lái)打開GUIDE界面,如下:然后,選擇空模板(BlangGUI),點(diǎn)擊OK,即可打開GUIDE的設(shè)計(jì)界面,如下: 一個(gè)實(shí)例搞定MATLAB界面編程,最好的matlab gui界面編程教程,沒有之一 點(diǎn)擊工具欄上的菜單編輯器(MenuEditor) ,打開菜單編輯器,如下: 在MenuBar 中新建一個(gè)菜單項(xiàng),名字為“文件”,其他設(shè)置請(qǐng)看下圖: 在“文件”菜單下添加菜單項(xiàng):“打開”,“保存”,“退出”。見下圖: 一個(gè)實(shí)例搞定MATLAB界面編程,最好的matlab gui界面編程教程,沒有之一 假如需要在菜單項(xiàng)“退出”上面添加一個(gè)分割線的話,選中“Separ
3、atorabovethisitem”就行了。 一個(gè)實(shí)例搞定MATLAB界面編程,最好的matlab gui界面編程教程,沒有之一 保存我的界面為pjimage.fig.保存完畢之后,會(huì)自動(dòng)打開pjimage.m文件,而我們?nèi)康某绦蚨际且獙懺谶@個(gè)M文件里面的。在編程中,我們的每一個(gè)鼠標(biāo)動(dòng)作都對(duì)應(yīng)一個(gè)Callback函數(shù)。那么我們的菜單項(xiàng)也是如此的。 在界面上,單擊鼠標(biāo)右鍵選擇“PropertyInspector”,即可打開屬性窗口。當(dāng)我們點(diǎn)擊不同的控件時(shí),其對(duì)應(yīng)的屬性都會(huì)在這里顯示,我們可以進(jìn)行修改。最主要的屬性莫過(guò)于Tag屬性和String屬性。 設(shè)置當(dāng)前Figure窗口的Tag屬性為:fi
4、gure_pjimage,窗口的標(biāo)題(Name屬性)為:圖像處理 實(shí)例。如下: 然后,點(diǎn)擊工具欄的保存按鈕。之后,點(diǎn)擊工具欄的運(yùn)行按鈕(RunFigure)。留意,工具欄的圖標(biāo)都會(huì)有提示的,像運(yùn)行按鈕的提示就是RunFigure. 我們會(huì)看到如下的界面: 那說(shuō)明,我們保存的.fig文件的名目不是當(dāng)前名目,但是沒關(guān)系啊,我們只要點(diǎn)擊“ChangeDirectory”來(lái)轉(zhuǎn)變當(dāng)前名目。當(dāng)然,假如你想把當(dāng)前名目添加到MATLAB路徑也可以,那就點(diǎn)擊“AddtoPath”就OK了。我在這里推舉點(diǎn)擊“ChangeDirectory”,由于沒有什么太大必要把其添加到MATLAB路徑中,一般是工具箱需要添加或
5、者我們的函數(shù)或程序?qū)懲炅耍贛ATLAB的指令窗口找不到我們的函數(shù)的時(shí)候,我們可以將函數(shù)或程序所在的名目添加到MATLAB路徑。 總之吧,點(diǎn)那個(gè)按鈕,要看個(gè)人的愛好了。不管點(diǎn)擊兩個(gè)按鈕的那一個(gè)按鈕,都會(huì)正確的運(yùn)行程序的。 我們的程序運(yùn)行時(shí)的樣子,是這樣的: 一個(gè)實(shí)例搞定MATLAB界面編程,最好的matlab gui界面編程教程,沒有之一 文件下面的菜單項(xiàng)和快捷鍵我們都能看到,但是我們沒有寫程序,所以就算點(diǎn)也沒有什么響應(yīng)。還有假如不想設(shè)置快捷鍵,可以在MenuEditor中設(shè)置,只要把其選擇為Ctrl+none就 行了,如下: 這樣的話,保存項(xiàng)就沒有了快捷鍵了。我們可以通過(guò)上面的按鈕“Vie
6、w”來(lái)查看該菜單項(xiàng)的響應(yīng)函數(shù),也就是Callback函數(shù)。也可以在pjimage.m中看,比如保存的Tag屬性是m_file_save,那么它對(duì)應(yīng)的Callback函數(shù)的名字就是m_file_save_Callback。依次類推了。下面我們來(lái)寫打開菜單項(xiàng)的函數(shù),要打開一個(gè)圖片,當(dāng)然要用打開對(duì)話框了。在界面編程中,打開對(duì)話框的函數(shù)是uigetfile.關(guān)于它的具體的說(shuō)明用helpuigetfile指令查看。下面是打開菜單的響應(yīng)函數(shù): functionm_file_open_Callback(hObject,eventdata,handles) filename,pathname=uigetfil
7、e(. *.bmp;*.jpg;*.png;*.jpeg,ImageFiles(*.bmp,*.jpg,*.png,*.jpeg);. *.*,AllFiles(*.*),. Pickanimage); 保存.m文件,并運(yùn)行程序。點(diǎn)擊“文件”下的“打開”,會(huì)打開如下的打開對(duì)話框: 一個(gè)實(shí)例搞定MATLAB界面編程,最好的matlab gui界面編程教程,沒有之一 選擇一個(gè)文件之后,程序中的filename就是你選擇的文件的文件名,pathname就是該文件所在的名目的路徑。比如:filename=5.jpg,pathname=C:DocumentsandSettingsAdministrato
8、rMyDocuments。 那么獲得路徑之后,我們要怎么樣才能讀入和顯示一個(gè)圖片呢?讀入圖片可以用imread函數(shù),而顯示可以在一個(gè)坐標(biāo)軸上。那么我們需要在界面上畫上一個(gè)坐標(biāo)軸,為了對(duì)比,我們畫兩個(gè)坐標(biāo)軸,一個(gè)顯示處理前,一個(gè)顯示處理后的。并且將處理前的坐標(biāo)軸的Tag屬性改為axes_src,處理后的坐標(biāo)軸的Tag屬性為axes_dst 。更改之后,保存。如下: 然后在m_file_open_Callback程序原來(lái)的基礎(chǔ)上,再添加如下的程序: axes(handles.axes_src);%用axes指令設(shè)定當(dāng)前操作的坐標(biāo)軸是axes_srcfpath=pathnamefilename;%將
9、文件名和名目名組合成一個(gè)完整的路徑 imshow(imread(fpath);%用imread讀入圖片,并用imshow在axes_src上顯示運(yùn)行程序,通過(guò)“打開”菜單項(xiàng),打開一個(gè)圖片。效果如下: 一個(gè)實(shí)例搞定MATLAB界面編程,最好的matlab gui界面編程教程,沒有之一 那么如何來(lái)保存一副圖片?用imwrite指令。但imwrite指令的第一個(gè)參數(shù)就是你讀入的圖片數(shù)據(jù),也就是imread的返回值。這樣的話,我們就要將 m_file_open_Callback中的程序做一點(diǎn)小小的改動(dòng)。將最終一句 (imshow(imread(fpath),更改為兩句,如下: img_src=imre
10、ad(fpath);imshow(img_src); 不僅如此,我們的保存菜單的Callback函數(shù),如何去獲得打開菜單的Callback函數(shù)下的img_src變量呢?這里就要將img_src來(lái)作為一個(gè)共享的數(shù)據(jù)。很多界面編程的伴侶,喜愛用global聲明。我個(gè)人不喜愛這樣用,由于有更好的方法。那就是用setappdata和getappdata兩個(gè)函數(shù)。我們可以為界面上面的任何一個(gè)具有Tag屬性的空間添加應(yīng)用程序數(shù)據(jù)。當(dāng)然我比較喜愛將這些共享的應(yīng)用程序數(shù)據(jù)統(tǒng)一添加到Figure窗口上,由于這樣簡(jiǎn)單記,假如一個(gè)控件一個(gè),感覺不簡(jiǎn)單記。你在.m文件中會(huì)發(fā)覺除了各個(gè)菜單項(xiàng)的Callback函數(shù)以外,
11、還有兩個(gè)函數(shù):pjimage_OpeningFcn和pjimage_OutputFcn.而pjimage_OpeningFcn就相當(dāng)于界面的初始化函數(shù),而pjimage_OutputFcn則是界面的輸出函數(shù),也就是當(dāng)你不運(yùn)行fig,而調(diào)用.m文件時(shí)的返回值。 所以,我們要在pjimage_OpeningFcn中添加如下的程序,來(lái)共享這個(gè)img_src矩陣。代碼如下: setappdata(handles.figure_pjimage,img_src,0); 然后,在m_file_open_Callback函數(shù)的最終寫上如下程序: setappdata(handles.figure_pjimag
12、e,img_src,img_src); 那么,我們?cè)趍_file_save_Callback函數(shù)中就可以像這樣的來(lái)提取img_src,如下: img_src=getappdata(handles.figure_pjimage,img_src); 那么保存的時(shí)候,自然會(huì)用到保存對(duì)話框了。要用保存對(duì)話框,就要用到uiputfile函數(shù)了,具體的請(qǐng)用helpuiputfile查看。 那么,保存菜單項(xiàng)下的程序(m_file_save_Callback),可以這樣寫: filename,pathname=uiputfile(*.bmp,BMPfiles;*.jpg;,JPGfiles,PickanIma
13、ge); ifisequal(filename,0)|isequal(pathname,0) return;%假如點(diǎn)了“取消” else fpath=fullfile(pathname,filename);%獲得全路徑的另一種方法 一個(gè)實(shí)例搞定MATLAB界面編程,最好的matlab gui界面編程教程,沒有之一 end img_src=getappdata(handles.figure_pjimage,img_src);%取得打開圖片的數(shù)據(jù) imwrite(img_src,fpath);%保存圖片 下面是退出菜單項(xiàng)的程序的。要退出界面,只要用close函數(shù)就行了,但是通常都會(huì)有提示的。比如你
14、假如進(jìn)行了處理圖片,而又沒有保存處理后的圖片,那么在關(guān)閉的時(shí)候就應(yīng)當(dāng)給出提示,詢問(wèn)是否進(jìn)行保存。不過(guò),在這里,我們先不做這個(gè)工作,等后面有需要的時(shí)候再寫吧。因此,這里的退出菜單項(xiàng)的程序就是一句,如下: close(handles.figure_pjimage); 其實(shí),用delete函數(shù)也是可以的,就是:delete(handles.figure_pjimage);看你的心情了。 但是運(yùn)行程序的時(shí)候,你會(huì)發(fā)覺,當(dāng)你打開圖片的時(shí)候,假如點(diǎn)“取消”按鈕,那么在MATLAB的指令窗口會(huì)彈出錯(cuò)誤,那是由于我們沒有處理取消的狀況。下面我們來(lái)處理下這個(gè)問(wèn)題,只要把m_file_open_Callback下
15、面的程序更改為如下程序即可: filename,pathname=uigetfile(. *.bmp;*.jpg;*.png;*.jpeg,ImageFiles(*.bmp,*.jpg,*.png,*.jpeg);. *.*,AllFiles(*.*),. Pickanimage); ifisequal(filename,0)|isequal(pathname,0), return; end axes(handles.axes_src); fpath=pathnamefilename; img_src=imread(fpath); imshow(img_src); setappdata(han
16、dles.figure_pjimage,img_src,img_src); 下面我們來(lái)做一個(gè)圖像二值化的一個(gè)圖像處理。用上面的方法添加一個(gè)“圖像處 理”菜單,如下: 在其下面添加一個(gè)“圖像二值化”的菜單項(xiàng),如下: 一個(gè)實(shí)例搞定MATLAB界面編程,最好的matlab gui界面編程教程,沒有之一 然后,點(diǎn)擊“OK”關(guān)閉菜單編輯器,并保存整個(gè)界面。假如我們的.m文件中沒有對(duì)應(yīng)的Callback時(shí),我們可以點(diǎn)擊上圖中的“View”按鈕來(lái)生成一個(gè)Callback函數(shù)。圖像二值化,有一個(gè)閾值的設(shè)置,那么我們可以新建一個(gè)界面,在這個(gè)界面上放一個(gè)滑動(dòng)條來(lái)設(shè)置圖像二值化的閾值。同時(shí),有一個(gè)文本,顯示當(dāng)前滑動(dòng)
17、條的值。那么我們新建一個(gè)空白界面,在它上面畫一個(gè)StaticText和Slider控件,然后用工具欄的對(duì)齊工具(Align Objects),來(lái)對(duì)其這兩個(gè)空間。如下: 然后,將這個(gè)界面保存為im2bw_args.fig。整個(gè)設(shè)計(jì)如下: 你可以設(shè)置StaticText的FontSize屬性為10,這樣字體會(huì)更大一點(diǎn)。設(shè)置StaticText的Tag屬性為txt_display,設(shè)置滾動(dòng)條的Tag屬性為slider_val。為了能夠在滾動(dòng)條滾動(dòng)時(shí),StaticText顯示滾動(dòng)條的值,需要在滾動(dòng)條的Callback中寫下 一個(gè)實(shí)例搞定MATLAB界面編程,最好的matlab gui界面編程教程,沒有
18、之一 如下程序,你可以在滾動(dòng)條上點(diǎn)擊右鍵,選擇“ViewCallbacks”下的“Callback”挺直進(jìn)入滾動(dòng)條的Callback函數(shù)(slider_val_Callback)。 val=get(hObject,Value); set(handles.txt_display,String,num2str(val); 保存,運(yùn)行程序,就可以滑動(dòng)滾動(dòng)條,而StaticText就會(huì)顯示相應(yīng)的值。在figure上雙擊打開figure(有方塊的底層窗口)的屬性窗口,將其Tag屬性設(shè)置為 “figure_im2bw”,將其Name屬性設(shè)置為“設(shè)置圖像二值化閾值”。然后,保存 界面。運(yùn)行時(shí),如下: 那么,
19、我們想的是,當(dāng)滑動(dòng)條滑動(dòng)時(shí),將二值化的圖像顯示在pjimage.fig中的axes_dst坐標(biāo)軸上的。那么怎么辦呢?首先,要做的是,當(dāng)點(diǎn)擊pjimage.fig菜單“圖像處理”下的“圖像二值化”的時(shí)候,會(huì)打開im2bw_args.fig。這個(gè)時(shí)候就是我們要調(diào)用im2bw_args.m的時(shí)候了。當(dāng)我們調(diào)用它的時(shí)候,會(huì)返回一個(gè)句柄,而這個(gè)句柄就是指向打開的im2bw_args.fig的。關(guān)于更具體的,你可以參看im2bw_args.m文件的最前面的說(shuō)明,其中有這樣寫: %H=IM2BW_ARGSreturnsthehandletoanewIM2BW_ARGSorthehandleto %theex
20、istingsingleton*. 那就說(shuō)明,我們可以如上的方式打開im2bw_args.fig。所以在“圖像二值化”的Callback函數(shù)(m_image_2bw_Callback)下,寫上如下的程序: h=im2bw_args; 然后,保存pjimage.fig.還有就是,最好將im2bw_args.fig和pjimage.fig保存在一個(gè)名目下面。然后,運(yùn)行pjimage.fig,可以看到,當(dāng)點(diǎn)擊“圖像二值化”的時(shí)候會(huì)打開im2bw_args.fig,同時(shí)滑動(dòng)條滑動(dòng)時(shí)也會(huì)顯示響應(yīng)的值。下面來(lái)說(shuō)說(shuō)如何在滑動(dòng)條滑動(dòng)時(shí),將滑動(dòng)后的二值化圖像顯示到pjimage的axes_dst坐標(biāo)軸中。 首先
21、,我們要獲得pjimage的figure的句柄,這個(gè)可以通過(guò)findobj函數(shù)來(lái)完成,之后將返回值用guihandles來(lái)轉(zhuǎn)換成一個(gè)句柄。之后,就可以用這個(gè)轉(zhuǎn)化后的句柄來(lái)引用pjimage.fig中的任何一個(gè)控件了。所以,我們?cè)趇m2bw_args.fig下的滑動(dòng)條的Callback函數(shù)中添加如下函數(shù): h_pjimage=getappdata(handles.figure_im2bw,h_pjimage); axes(h_pjimage.axes_dst); img_src=getappdata(h_pjimage.figure_pjimage,img_src); bw=im2bw(img_
22、src,val); imshow(bw); 然后,在im2bw_args_OpeningFcn中添加: h_pjimage=findobj(Tag,figure_pjimage); h_pjimage=guihandles(h_pjimage); setappdata(handles.figure_im2bw,h_pjimage,h_pjimage); 然后,保存,運(yùn)行。效果如下: 一個(gè)實(shí)例搞定MATLAB界面編程,最好的matlab gui界面編程教程,沒有之一 但是,假如在我們沒有打開圖片的狀況下,要是點(diǎn)擊了“圖像二值化”會(huì)消失什么問(wèn)題呢?可以看到顯示的圖像是全黑的,完全沒有意義。所以,我
23、們可以在沒有點(diǎn)擊“打開”菜單項(xiàng)的時(shí)候,使“圖像處理”菜單不行用。 那么在pjimage.m的OpeningFcn中,添加如下程序: set(handles.m_image,Enable,off); 在“打開”菜單項(xiàng)的Callback函數(shù)的最終,添加如下程序: set(handles.m_image,Enable,on); 這樣的話,只要你不點(diǎn)“打開”,就不能用“圖像處理”菜單中的指令,效果如 下: 點(diǎn)擊“打開”之后,就能用法了。 下面,我們來(lái)說(shuō)說(shuō)前面的問(wèn)題,就是詢問(wèn)是否保存圖片的問(wèn)題。首先,我們要設(shè)置兩個(gè)標(biāo)記:一個(gè)是圖片是否被處理過(guò)了,二是圖片是否被保存了。那么我們?cè)趐jimage_Openi
24、ngFcn中,添加如下的兩個(gè)應(yīng)用程序數(shù)據(jù)。 setappdata(handles.figure_pjimage,bSave,false); setappdata(handles.figure_pjimage,bChanged,false); 然后在“圖像二值化”菜單項(xiàng)的Callback函數(shù)中,轉(zhuǎn)變bChanged的值為true,即添加如下程序: setappdata(handles.figure_pjimage,bChanged,true); 由于我們要保存的是坐標(biāo)軸axes_dst中的圖像,而我們“文件”下的“保存”,實(shí)質(zhì)上保存的是坐標(biāo)軸axes_src中的圖像,那怎么辦呢?只好再添加一個(gè)“
25、保存”菜單項(xiàng)了。這次,我們?cè)谧鴺?biāo)軸axes_dst中添加右鍵菜單。 打開工具欄的菜單編輯器,選擇ContextMenu(上下文菜單),如下: 一個(gè)實(shí)例搞定MATLAB界面編程,最好的matlab gui界面編程教程,沒有之一 然后,新建一個(gè)Context Menu,其Tag屬性為:axes_dst_menu,如下: 然后為其添加菜單項(xiàng):“保存”,其Tag屬性為axes_dst_menu_save.如上圖。然后,在坐標(biāo)軸axes_dst上右鍵,選擇“PropertyInspector”。將該坐標(biāo)軸的UIContextMenu屬性更改為axes_dst_menu.如下圖:然后,保存,運(yùn)行。在axe
26、s_dst上點(diǎn)右鍵就能看到 “保存”菜單了。下面來(lái)寫其函數(shù)。 filename,pathname=uiputfile(*.bmp,BMPfiles;*.jpg;,JPGfiles,PickanImage); ifisequal(filename,0)|isequal(pathname,0) 一個(gè)實(shí)例搞定MATLAB界面編程,最好的matlab gui界面編程教程,沒有之一 return; else fpath=fullfile(pathname,filename); end img_dst=getimage(handles.axes_dst); imwrite(img_dst,fpath);
27、setappdata(handles.figure_pjimage,bSave,true); 但是你會(huì)發(fā)覺,沒有讀入圖片之前,在axes_dst點(diǎn)右鍵是有菜單的,一旦二值化之后,再次點(diǎn)右鍵就沒有菜單了。 但是,當(dāng)我們把右鍵菜單axes_dst_menu,添加到figure窗口(在沒有控件的地方,雙擊,即可打開figure的屬性窗口)的UIContextMenu的時(shí)候,就不會(huì)消失上面的問(wèn)題,而且一切運(yùn)行正常。由于,當(dāng)你添加到axes_dst之后,一旦坐標(biāo)軸的內(nèi)容轉(zhuǎn)變,就會(huì)將右鍵菜單附加到父對(duì)象上。因此,假如肯定需要在坐標(biāo)軸上顯示右鍵菜單,就要通過(guò)程序創(chuàng)建了。如何創(chuàng)建,咱們先不說(shuō),先說(shuō)說(shuō)把坐標(biāo)軸a
28、xes_dst保存完畢,退出程序的時(shí)候的處理。 將原來(lái)的m_file_exit_Callback更改為如下程序: bChanged=getappdata(handles.figure_pjimage,bChanged);%獲得是否更改bSave=getappdata(handles.figure_pjimage,bSave);%獲得是否保存ifbChanged=truebSave=false,%更改了,而沒保存時(shí) btnName=questdlg(您已經(jīng)更改了圖片,但沒有保存。要保存嗎?,提示,保存,不保存,保存);%用提問(wèn)對(duì)話框 switchbtnName, case保存,%執(zhí)行axes_d
29、st_menu_save_Callback的功能 feval(axes_dst_menu_save_Callback,handles.axes_dst_menu_save,eventdata,handles); case不保存,%什么也不做 end end h=findobj(Tag,figure_im2bw);%查找是否打開設(shè)置圖像二值化參數(shù)窗口ifisempty(h),%找到的話,則關(guān)閉 close(h); end close(findobj(Tag,figure_pjimage);%關(guān)閉主窗口 下面來(lái)為程序添加一個(gè)工具欄,單擊工具欄上那個(gè)的ToolbarEditor,打開如下: 一個(gè)實(shí)例
30、搞定MATLAB界面編程,最好的matlab gui界面編程教程,沒有之一 選擇“PredefinedTools”下的Open,點(diǎn)擊“Add”。再次選擇“Save”,點(diǎn)擊“Add”。并將Open按鈕的Tag屬性更改為tbl_open,Save按鈕的Tag屬性更改為 tbl_save,如下: 點(diǎn)“View”,來(lái)找到Open按鈕的Callback,在它的下面來(lái)調(diào)用菜單中的打開菜單項(xiàng)的Callback,需要在Open按鈕的Callback下寫下如下程序: feval(m_file_open_Callback,handles.m_file_open,eventdata,handles);用同樣的方法,找到Save按鈕的Callback,并在它的下面寫上保存程序,但是,我們要推斷一下是不是第一次保存,假如是,則用保存對(duì)話框;假如不是,我們挺直保存在第一次保存的路徑中就可以了。那么,我們還是需要設(shè)置幾個(gè)應(yīng)用程序數(shù)據(jù)的,第一個(gè)就是記錄是否是第一次保存,其次個(gè)是記錄第一次保存的路徑。這樣的話,我們?cè)趐jimage_OpeningFcn中添加如下的代碼: setappdat
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位蔬菜供應(yīng)合同范本
- 合同范本其他事項(xiàng)
- 合同范本軟件畫畫
- 卷簾窗簾購(gòu)銷合同范例
- 2025年耐磨合金鑄鐵項(xiàng)目建議書
- 新西蘭蜂蜜采購(gòu)合同范本
- 水果購(gòu)銷合同范本
- 家具設(shè)計(jì)合同范本
- 單位車輛定點(diǎn)維修合同范本
- 醫(yī)院租賃合同范本
- 《婦幼保健學(xué)》課件-第二章 兒童生長(zhǎng)發(fā)育
- 22G101三維彩色立體圖集
- 山東省技能大賽青島選拔賽-世賽選拔項(xiàng)目52樣題(平面設(shè)計(jì)技術(shù))
- 順豐快遞員工入職合同范本
- 山東省德州市禹城市2023-2024學(xué)年度下學(xué)期期末考試八年級(jí)物理試題(無(wú)答案)
- 35kV輸電線路工程施工安全保障措施
- 新媒體營(yíng)銷:營(yíng)銷方式推廣技巧案例實(shí)訓(xùn)( 第2版)全套教學(xué)課件
- 2024年宜昌伍家新城投資控股集團(tuán)有限公司招聘筆試沖刺題(帶答案解析)
- 2024年江蘇農(nóng)牧科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及答案1套
- 水平四 足球大單元教案打印版
- 2024年江蘇農(nóng)林職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)新版
評(píng)論
0/150
提交評(píng)論