版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 圖片瀏覽器設(shè)計(jì)報(bào)告</b></p><p><b> 一、設(shè)計(jì)思路</b></p><p><b> 1.要達(dá)到的目的</b></p><p> ?、倥囵B(yǎng)學(xué)生綜合利用VB語(yǔ)言進(jìn)行程序設(shè)計(jì)的能力,主要是利用VB的標(biāo)準(zhǔn)控件進(jìn)行設(shè)計(jì)。</p><p>
2、; ?、谀軌虼蜷_常見類型的圖片,自動(dòng)進(jìn)行縮放,適應(yīng)PictureBox的大小。</p><p> ?、墼贔ileListBox中只列出圖片文件。</p><p> ?、苁褂肧tatusBar 控件狀態(tài)條顯示圖片文件相關(guān)信息,包括圖片尺寸(單位:象素)、文件大小和日期等。</p><p> ⑤使用HscrollBar控件對(duì)圖片進(jìn)行縮放。</p><
3、;p> ⑤可以輪流顯示FileListBox中列出圖片文件。</p><p> ?、蕻?dāng)圖片放大超過(guò)窗口大小后,可以提供鼠標(biāo)移動(dòng)圖片顯示。</p><p><b> 2.關(guān)鍵問(wèn)題的解決</b></p><p> ?、偈褂肔oadpicture方法在圖片框里加載符合格式要求的圖片。</p><p> ?、谑褂肍il
4、eListBox方法來(lái)顯示圖片。</p><p> ?、凼褂肞aintPicture方法和改變滾動(dòng)條的Value屬性,使圖片能夠縮放。</p><p> ④使用Timer事件更改FileListBox的ListCount屬性,使圖片能自動(dòng)瀏覽。</p><p> ?、菔褂肕ouseMove事件,在圖片過(guò)大時(shí),通過(guò)鼠標(biāo)移動(dòng)使圖片顯示。</p><
5、p> 二、模塊之間的調(diào)用關(guān)系,或程序流程圖</p><p> 三、部分程序關(guān)鍵源代碼及注釋</p><p> Private Sub Form_Load()</p><p> Drive1.Drive = App.Path</p><p> Dir1.Path = App.Path
6、 'App 是當(dāng)前的應(yīng)用程序?qū)ο?lt;/p><p> File1.Pattern = "*.bmp;*.jpg;*.ico;*.wmf" '在FileListBox中只列出圖片文件。</p><p> Picture1.AutoSize = True</p><p> Picture2.A
7、utoSize = True '設(shè)定自動(dòng)縮放,適應(yīng)PictureBox的大小。</p><p> StatusBar1.Panels.Add</p><p> StatusBar1.Panels.Add</p><p> StatusBar1.Panels.Add</p>&l
8、t;p> StatusBar1.Panels.Item(1).MinWidth = 2000</p><p> StatusBar1.Panels.Item(1).Alignment = sbrCenter</p><p> StatusBar1.Panels.Item(2).MinWidth = 1800</p><p> StatusBar1.Pa
9、nels.Item(2).Alignment = sbrCenter</p><p> StatusBar1.Panels.Item(3).MinWidth = 2400</p><p> StatusBar1.Panels.Item(3).Alignment = sbrCenter</p><p> StatusBar1.Panels.Item(4).Min
10、Width = 3000</p><p> StatusBar1.Panels.Item(4).Alignment = sbrCenter '設(shè)定StatusBar的數(shù)量和屬性</p><p><b> End Sub</b></p><p> Private Sub Drive1_Change()</
11、p><p> On Error Resume Next</p><p> Dir1.Refresh</p><p> Dir1.Path = Drive1.Drive</p><p> If Err.Number = 68 Then</p><p><b> Err.Clear</b><
12、;/p><p> MsgBox "請(qǐng)您先將光盤插入,謝謝。 ", , "提示"</p><p><b> Exit Sub</b></p><p> End If '設(shè)定錯(cuò)誤提示<
13、/p><p><b> End Sub </b></p><p> Private Sub Dir1_Change()</p><p> File1.Path = Dir1.Path</p><p><b> End Sub</b></p><p> Private S
14、ub File1_Click()</p><p> If Right(File1.Path, 1) <> "\" Then</p><p> tempstring = File1.Path & "\" & File1.FileName '非根目錄時(shí),路徑中的最后加上一個(gè)反斜杠"\&quo
15、t;</p><p><b> Else</b></p><p> tempstring = File1.Path & "\" & File1.FileName</p><p> End If '裝入選定的文件。</p><p> Picture1.En
16、abled = True</p><p> Picture2.Picture = LoadPicture(tempstring)</p><p> Picture1.PaintPicture Picture2.Picture _</p><p> , 0, 0, Picture1.Width, Picture1.Height, _</p><
17、;p> 0, 0, Picture2.Width, Picture2.Height '設(shè)定圖片的初始狀態(tài)。</p><p> Picture2.Visible = False</p><p> mysize = FileLen(Dir1.Path & "\" & File1.FileName)
18、</p><p> Picture2.ScaleMode = 3</p><p> StatusBar1.Panels(1) = "圖片尺寸:" & _</p><p> Picture2.ScaleWidth & "×" & Picture2.ScaleHeight</p>
19、<p> StatusBar1.Panels(2) = "文件大小:" & _</p><p> Int(mysize / 1024 * 10 + 0.5) / 10 & "KB"</p><p> StatusBar1.Panels(3) = "修改日期:" & "2006-
20、09-15 " & "09:00"</p><p> StatusBar1.Panels.Item(4) = "攝影機(jī)的型號(hào):NiKon Coolpix 7600" '設(shè)定圖片信息的提取</p><p><b> End Sub</b></p><p> Privat
21、e Sub Command1_Click()</p><p> If Command1.Caption = "自動(dòng)瀏覽" Then</p><p> Timer1.Enabled = True</p><p> Command1.Caption = "停止瀏覽"</p><p><b>
22、 Else</b></p><p> Timer1.Enabled = False</p><p> Command1.Caption = "自動(dòng)瀏覽"</p><p> End If '設(shè)定自動(dòng)瀏覽</p>
23、<p><b> End Sub</b></p><p> Private Sub Command2_Click()</p><p><b> Unload Me</b></p><p><b> End Sub</b></p><p> Private
24、 Sub Timer1_Timer()</p><p> X = File1.ListIndex</p><p><b> X = X + 1</b></p><p> If X < File1.ListCount Then</p><p> File1.Selected(X) = True</p&g
25、t;<p> Call File1_Click</p><p><b> Else</b></p><p> File1.ListIndex = 0</p><p> End If '設(shè)定timer事件來(lái)自動(dòng)瀏覽圖片&
26、lt;/p><p><b> End Sub</b></p><p> Private Sub Form_QueryUnload(Cancel As Integer, _</p><p> UnloadMode As Integer)</p><p> Title = MsgBox("您確定要退出嗎?&qu
27、ot;, vbYesNoCancel, "提示")</p><p> If Title <> 6 Then</p><p> Cancel = True</p><p><b> End If</b></p><p> If Title = 6 Then</p>&l
28、t;p> MsgBox "謝謝您的使用,歡迎再次使用。 ", , "圖片瀏覽器"</p><p><b> End If</b></p><p><b> End Sub</b></p><p> Private Sub HScroll1_Change()&l
29、t;/p><p> Picture1.Cls</p><p><b> Max = 200</b></p><p> Min = 1 '設(shè)定滾動(dòng)條的最大、最小值。</p><p> Value = 200</
30、p><p> smallchang = 1</p><p> largechang = 1 '設(shè)定Value值的改變量。</p><p> Picture1.PaintPicture Picture2.Picture, 0, 0, _</p><p&g
31、t; Picture1.Width * HScroll1.Value / 100, _</p><p> Picture1.Height * HScroll1.Value / 100, 0, 0, _</p><p> Picture2.Width, Picture2.Height '使用滾動(dòng)條縮放圖片</p&g
32、t;<p><b> End Sub</b></p><p> Private Sub Picture1_MouseDown(Button As Integer, _</p><p> Shift As Integer, X As Single, Y As Single)</p><p><b> X1 = X&
33、lt;/b></p><p><b> Y1 = Y</b></p><p><b> End Sub</b></p><p> Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
34、</p><p><b> X2 = X</b></p><p><b> Y2 = Y</b></p><p> X3 = X3 + X2 - X1</p><p> Y3 = Y3 + Y2 - Y1</p><p> Picture1.Picture = Lo
35、adPicture(tempstring)</p><p> Picture1.Cls</p><p> If HScroll1.Value <> 100 Then '使用鼠標(biāo)移動(dòng)圖片</p><p> Picture1.PaintPicture Pictur
36、e2.Picture, X3, Y3, _</p><p> Picture1.Width * HScroll1.Value / 100, _</p><p> Picture1.Height * HScroll1.Value / 100 '使用PaintPicture方法</p><p>&
37、lt;b> Else</b></p><p> Picture1.PaintPicture Picture2.Picture, X3, Y3, _</p><p> Picture1.Width, Picture1.Height</p><p><b> End If</b></p><p>&
38、lt;b> End Sub</b></p><p> Private Sub munfileopen_Click() '菜單欄"打開"</p><p> CommonDialog1.ShowOpen</p><p> Pictur
39、e2.Picture = LoadPicture(CommonDialog1.FileName)</p><p> Picture1.Cls</p><p> Picture1.PaintPicture Picture2.Picture, 0, 0, _</p><p> Picture1.Width, Picture1.Height, 0, 0, _<
40、/p><p> Picture2.Width, Picture2.Height</p><p> Picture2.Visible = False</p><p> CommonDialog1.Filter= pictures|(*.bmp)|*.bmp|pictures|(*.jpg)|*.jpg|pictures|(*.gif)|*.gif|pictures|
41、(*.ico)|*.ico" '設(shè)定載入文件的格式</p><p> munbigger.Enabled = True</p><p> munsmaller.Enabled = True</p><p> munback.Enabled = True</p><p> mysize = FileLen(Comm
42、onDialog1.FileName)</p><p> Picture2.ScaleMode = 3</p><p> StatusBar1.Panels(1) = "圖片尺寸:" & _</p><p> Picture2.ScaleWidth & "×" & Picture2.Sc
43、aleHeight</p><p> StatusBar1.Panels(2) = "文件大小:" & _</p><p> Int(mysize / 1024 * 10 + 0.5) / 10 & "KB"</p><p> StatusBar1.Panels(3) = "修改日期:"
44、; & "2006-09-15 " & "09:00"</p><p> StatusBar1.Panels.Item(4) = "攝影機(jī)的型號(hào):NiKon Coolpix 7600" '設(shè)定圖片信息的提取</p><p><b> End Sub</b><
45、;/p><p> Private Sub munfileexit_Click() '菜單欄"關(guān)閉"</p><p><b> Unload Me</b></p><p><b> End Sub</b><
46、/p><p> Private Sub munbigger_Click() '菜單欄"放大"</p><p> Picture1.Cls</p><p> Picture2.Width = Picture2.Width * 0.8</p>
47、<p> Picture2.Height = Picture2.Height * 0.8</p><p> Picture1.PaintPicture Picture2.Picture, 0, 0, _</p><p> Picture1.Width, Picture1.Height, 0, 0, _</p><p> Picture2.Widt
48、h, Picture2.Height</p><p><b> End Sub</b></p><p> Private Sub munsmaller_Click() '菜單欄"縮小"</p><p> Picture1.Cl
49、s</p><p> Picture2.Width = Picture2.Width * 1.5</p><p> Picture2.Height = Picture2.Height * 1.5</p><p> Picture1.PaintPicture Picture2.Picture, 0, 0, _</p><p> Pict
50、ure1.Width, Picture1.Height, 0, 0, _</p><p> Picture2.Width, Picture2.Height</p><p><b> End Sub</b></p><p> Private Sub munback_Click()
51、 '菜單欄"還原"</p><p> Picture2.Picture = LoadPicture(Dir1.Path & "\" & File1.FileName)</p><p> Picture1.PaintPicture Picture2.Picture, 0, 0, _</p&
52、gt;<p> Picture1.Width, Picture1.Height, 0, 0, _</p><p> Picture2.Width, Picture2.Height</p><p> Picture2.Visible = False</p><p><b> End Sub</b></p>&l
53、t;p> 四、設(shè)計(jì)方案的完善及目前存在的問(wèn)題</p><p> 1.設(shè)計(jì)方案要完善的地方</p><p> ?、僭黾痈鶕?jù)圖片的長(zhǎng)寬比改變PictrueBox的長(zhǎng)寬比。</p><p> ?、谠黾痈淖兇翱诖笮?,窗口上的圖片也要做相應(yīng)的調(diào)整。</p><p> ?、弁晟撇藛螜诘摹按蜷_”功能和鼠標(biāo)拖動(dòng)圖片功能。</p>&l
54、t;p> 2. 目前存在的問(wèn)題</p><p> ①菜單欄的“打開”功能不夠完善。</p><p> ?、趩螕羰髽?biāo)拖動(dòng)圖片功能不能令人滿意。</p><p> ?、畚募男畔@示不夠全面。</p><p> 五、本次設(shè)計(jì)的收獲及心得體會(huì)</p><p> ?、僭诖蚝没A(chǔ)的前提下,努力拓寬自己的知識(shí)面。<
55、;/p><p> ?、谠黾泳毩?xí)的時(shí)間,把基礎(chǔ)做扎實(shí)。</p><p> 六、對(duì)該題目和VB設(shè)計(jì)的意見和建議</p><p> 1. 對(duì)該題目的意見和建議</p><p> ?、僭黾訉?duì)圖片文件的簡(jiǎn)單的編輯功能。如縮放、裁減、添加文本框等。</p><p> ?、谠跒g覽功能方面,增加全屏瀏覽、旋轉(zhuǎn)等功能。</p>
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- vb課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告---圖片瀏覽器
- vb課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告---圖片瀏覽器
- 圖片瀏覽器課程設(shè)計(jì)報(bào)告
- 圖片瀏覽器課程設(shè)計(jì)報(bào)告
- 圖片瀏覽器課程設(shè)計(jì)報(bào)告.doc
- 網(wǎng)絡(luò)編程課程設(shè)計(jì)報(bào)告--圖片瀏覽器
- java瀏覽器課程設(shè)計(jì)--web瀏覽器開發(fā)
- 網(wǎng)頁(yè)瀏覽器--java課程設(shè)計(jì)
- 網(wǎng)頁(yè)瀏覽器--java課程設(shè)計(jì)
- c++面向?qū)ο笳n程設(shè)計(jì)報(bào)告--瀏覽器
- 數(shù)碼相框圖片瀏覽器設(shè)計(jì)與實(shí)現(xiàn).pdf
- 多平臺(tái)圖片瀏覽器的設(shè)計(jì)與實(shí)現(xiàn).pdf
- Android平臺(tái)圖片瀏覽器的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于MFC的圖片瀏覽器的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 不動(dòng)端瀏覽器設(shè)計(jì)
- vb計(jì)算器課程設(shè)計(jì)報(bào)告
- vb編輯器課程設(shè)計(jì)報(bào)告
- 2017畢業(yè)論文-基于c#的圖片瀏覽器設(shè)計(jì)
- 手機(jī)瀏覽器不良圖片過(guò)濾軟件設(shè)計(jì)與實(shí)現(xiàn).pdf
- 簡(jiǎn)易計(jì)算器vb課程設(shè)計(jì)報(bào)告報(bào)告
評(píng)論
0/150
提交評(píng)論