圖像濾鏡效果 實驗步驟.doc_第1頁
圖像濾鏡效果 實驗步驟.doc_第2頁
圖像濾鏡效果 實驗步驟.doc_第3頁
圖像濾鏡效果 實驗步驟.doc_第4頁
圖像濾鏡效果 實驗步驟.doc_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1實訓開發(fā)目標本實訓開發(fā)一個對圖片進行濾鏡效果處理的程序,程序可以對任意格式圖像文件進行處理,利用Microsoft Visual Basic語言實現(xiàn)。濾鏡操作包括柔化、銳化、浮雕、擴展和自定濾鏡等各種類型,用戶根據(jù)需要選擇相應菜單操作即可。3實驗步驟(1)添加模塊啟動VB之后,新建一個“標準EXE”,選擇菜單“工程”“添加模塊(M)”。保存模塊名為模塊ImgMod.bas。然后在模塊中添加如下代碼:第90頁相關代碼(2)添加窗體與窗體界面設計新建窗體方法:選擇“文件”菜單“新建工程”選擇“標準 EXE”“確定”。也可在“工程”窗口中,點擊右鍵,選擇“添加”“添加窗體”實現(xiàn)新建。本實例需實現(xiàn)多種效果,因此需要多個窗體,建立窗體方法類同。l 主窗體新建窗體,命名為“image.frm”。主窗體界面設計如圖7-22所示。圖7-22 主窗體界面設計在窗體上,添加一個菜單、兩個PictureBox控件、一個CommonDialog控件以及一個ProgressBar控件。注:由于在窗體中需要添加CommonDialog和ProgressBar控件,但是這兩個控件并沒有放置在Visual Basic標準工具箱里面,因此需要在“工程”“部件”窗口中選擇Microsoft Common Dialog Control 6.0(SP6)項和Microsoft Window Common Control 6.0(SP6)項。具體操作過程可參見2.2.2節(jié)圖2-5所示。各控件的屬性如下:Form 名稱:“frmMain” Caption:“圖像濾鏡效果”Picture2 Visible:false此外,還需使用菜單編輯器編輯設置菜單項。具體操作如下:選擇“工具”菜單下的“菜單編輯器M(Ctrl+E)”命令,即可打開“菜單編輯器”對話框。在菜單編輯器中添加“文件”、“濾鏡”一級菜單,然后通過按鈕為一級菜單添加相應的子菜單。在操作中,菜單的其他屬性都采用默認值。最終的菜單操作效果如圖7-23所示。相關屬性設置如下:“文件”菜單:標題為“文件”,名稱為“FileMenu”;“打開圖像”子菜單:標題為“打開圖像”,名稱為“FileOpen”;“保存圖像”子菜單:標題為“保存圖像”,名稱為“FileSave”;“退出”菜單:標題為“退出”,名稱為“FileExit”;“濾鏡”菜單:標題為“濾鏡”,名稱為:ProcessMenu“柔化”一級子菜單:標題為“柔化”,名稱為“Smooth”;“柔化”二級子菜單:標題為“柔化”,名稱為“ProcessSmooth”:“加強柔化”二級子菜單菜單:標題為“加強柔化”,名稱為“SmoothMore”;“銳化”一級子菜單:標題為“銳化”,名稱為“Sharpen”;“銳化”二級子菜單:標題為“銳化”,名稱為“ProcessSharpen”;“加強銳化”二級子菜單:標題為“加強銳化”,名稱為“SharpMore”;“浮雕”子菜單:標題為“浮雕”,名稱為“ProcessEmboss”;“擴散”子菜單:標題為“擴散”,名稱為“ProcessDiffuse”;“-”子菜單:標題為“-”,名稱為“separator1”;(添加一條分隔線)“自定義濾鏡”子菜單:標題為“自定義濾鏡”,名稱為“ProcessCustom”;“-”子菜單:標題為“-”,名稱為“separator2”;“恢復”子菜單:標題為“恢復”,名稱為“Undo”。圖7-23主窗體菜單編輯器l 主窗體代碼 “打開圖像”菜單單擊事件,用于打開并加載圖片文件;“保存圖像”菜單單擊事件,用于保存處理后的圖像;“退出菜單”事件卸載窗體 添加第90-92頁的相關代碼l 自定義濾鏡窗體新建窗體,命名為“ImgFltr.frm”。主窗體界面設計如圖7-26所示。圖7-26 “自定義濾鏡”界面設計在窗體上,添加一個文本框控件數(shù)組(添加一個textbox1,選中然后復制即可創(chuàng)建一個文本框數(shù)組)、一個PictureBox控件、兩個OptionButton控件、三個Label控件、兩個TextBox控件以及兩個CommonButton控件。各控件的屬性如下:Form 名稱:“frmCustomFilter”Caption:“自定義濾鏡”PictureBox1 Caption:“SSPanel1”BackColor:&H00C0C0C0&OptionButton1 Caption:“3 X 3”Value:trueOptionButton2 Caption:“5 X 5”CommonButton1 Caption:“確定”CommonButton2 Caption:“取消”Label1 Caption:“亮度因子”Label2 Caption:“偏差因子”Label3 Caption:“濾鏡大小”Text1 Text:“1”(控件數(shù)組中文本都為“1”)Text2 Text:“9”Text3 Text:“0”* “自定義濾鏡”窗體代碼(第92頁)*控制輸入正確數(shù)值添加9293頁的相關代碼加載窗體,初始化Private Sub Form_Load() Option1_Click 當frmCustomFilter 窗體初始化時選擇Option1(33)單選鈕 End Sub“3 X 3”單選按鈕事件Private Sub Option1_Click()Dim i As Integer 下面的兩個For循環(huán)將隱藏Text1數(shù)組外圍的16個TextBox 控件 For i = 0 To 4 Text1(i).Visible = False Text1(i + 20).Visible = False Next For i = 1 To 3 Text1(i * 5).Visible = False Text1(i * 5 + 4).Visible = False Next Text2.Text = 9End Sub“5 X 5”單選按鈕事件Private Sub Option2_Click()Dim i As Integer For i = 0 To 4 Text1(i).Visible = True Text1(i + 20).Visible = True Next For i = 1 To 3 Text1(i * 5).Visible = True Text1(i * 5 + 4).Visible = True Next Text2.Text = 25End Sub【確定】按鈕事件Private Sub Command1_Click()Dim i As Integer, j As Integer FilterCancel = False For i = 0 To 4 For j = 0 To 4 將Text1控件數(shù)組的內容傳遞給CostomFilter 變量, 在frmMain中會用到CostomFilter CustomFilter(i, j) = Val(Text1(i * 5 + j).Text) Next Next FilterNorm = Val(Text2.Text) 將Text2的內容傳遞給FilterNorm 變量 FilterBias = Val(Text3.Text) 將Text3的內容傳遞給FilterBias 變量 frmCustomFilter.Hide 隱藏frmCustomFilter 窗體End Sub【取消】按鈕事件Private Sub Command2_Click() FilterCancel = True frmCustomFilter.Hide 隱藏frmCustomFilter 窗體 End Subl 柔化窗體新建窗體,命名為“frmSmoothMore.frm”。主窗體界面設計如圖7-24所示。圖7-24 “設置柔化程度”界面設計在窗體上,添加一個Silider控件、一個Label控件、一個TextBox控件以及兩個CommonButton控件。各控件的屬性如下:Form 名稱:“frmCustomSmooth”Caption:“設置柔化程度”Slider1 Max:10 Min:0CommonButton1 Caption:“確定”CommonButton2 Caption:“取消”Label1 Caption:“柔化程度:”Text1 Text:“30%”l “設置柔化程度”窗體代碼改變滑塊值控制正確輸入添加第9495頁的相關代碼 【確定】按鈕事件Private Sub Command1_Click() If Len(Text1.Text) 1 Then SmoothOfs = Val(Left(Text1.Text, Len(Text1.Text) - 1) End If If SmoothOfs 100 Then SmoothOfs = 100 End If SmoothOfs = Int(SmoothOfs / 20) SmoothCancle = False Unload frmCustomSmoothEnd Sub【取消】按鈕事件Private Sub Command2_Click() SmoothCancle = True Unload frmCustomSmoothEnd Subl 銳化窗體新建窗體,命名為“frmCustomSharp.frm”。主窗體界面設計如圖7-25所示。圖7-25 “設置銳化程度”界面設計在窗體上,添加一個Silider控件、一個Label控件、一個TextBox控件以及兩個CommonButton控件。各控件的屬性如下:Form 名稱:“frmCustomSharp”Caption:“設置銳化程度”Slider1 Max:10 Min:0CommonButton1 Caption:“確定”CommonButton2 Caption:“取消”Label1 Caption:“銳化程度:”Text1 Text:“50%”l “設置銳化程度”窗體代碼滑塊值改變控制輸入正確數(shù)值添加第9394頁的相關代碼【確定】按鈕事件Private Sub Command1_Click() If Len(Text1.Text) 1 Then SharpBias = Val(Left(Text1.Text, Len(Text1.Text) - 1) End If If SharpBias 100 Then SharpBias = 100 SharpBias = SharpBias * 2 / 100 SharpCancle = False Unload frmCustomSharpEnd Sub【取消】按鈕事件Private Sub Command2_Click() SharpCancle = True Unload frmCustomSharpEnd Subl 進度條窗體新建窗體,命名為“ImgLoad.frm”。主窗體界面設計如圖7-27所示。圖7-27 “進度條”界面設計在窗體上,添加一個ProgressBar控件、一個Label控件.各控件的屬性如下:Form 名稱:“frmProcessBar”Caption:”(空)ControlBox:falseLinkTopic:“Form3”BackColor:&H80000004&Label1 Caption:“正在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論