图片浏览器课程设计报告(VB) 编号:14
图片浏览器设计报告
学院 土木工程学院 班级 测绘C111 学号 117544 姓名 戴健健 成绩
一、设计思路
1.要达到的目的
①培养学生综合利用VB语言进行程序设计的能力,主要是利用VB的标准控件进行设计。
②能够打开常见类型的图片,自动进行缩放,适应PictureBox的大小。
③在FileListBox中只列出图片文件。
④使用StatusBar 控件状态条显示图片文件相关信息,包括图片尺寸(单位:象素)、文件大小和日期等。
⑤使用HscrollBar控件对图片进行缩放。
⑤可以轮流显示FileListBox中列出图片文件。
⑥当图片放大超过窗口大小后,可以提供鼠标移动图片显示。
2.关键问题的解决
①使用Loadpicture方法在图片框里加载符合格式要求的图片。
②使用FileListBox方法来显示图片。
③使用PaintPicture方法和改变滚动条的Value属性,使图片能够缩放。
④使用Timer事件更改FileListBox的ListCount属性,使图片能自动浏览。
⑤使用MouseMove事件,在图片过大时,通过鼠标移动使图片显示。
二、模块之间的调用关系,或程序流程图
调用
调用
调用
调用
Gamestart模块
Singleplayer模块
doubleplayers模块
Singlehelp模块
doublehelp模块
三、部分程序关键源代码及注释
Private Sub Form_Load()
Drive1.Drive = App.Path
Dir1.Path = App.Path
App 是当前的应用程序对象
File1.Pattern = "*.bmp;*.jpg;*.ico;*.wmf"
在FileListBox中只列出图片文件。
Picture1.AutoSize = True
Picture2.AutoSize = True
设定自动缩放,适应PictureBox的大小。
StatusBar1.Panels.Add
StatusBar1.Panels.Add
StatusBar1.Panels.Add
StatusBar1.Panels.Item(1).MinWidth = 2000
StatusBar1.Panels.Item(1).Alignment = sbrCenter
StatusBar1.Panels.Item(2).MinWidth = 1800
StatusBar1.Panels.Item(2).Alignment = sbrCenter
StatusBar1.Panels.Item(3).MinWidth = 2400
StatusBar1.Panels.Item(3).Alignment = sbrCenter
StatusBar1.Panels.Item(4).MinWidth = 3000
StatusBar1.Panels.Item(4).Alignment = sbrCenter
设定StatusBar的数量和属性
End Sub
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End sub
Private Sub HScroll1_Change()
Picture1.Cls
Max = 200
Min = 1
设定滚动条的最大、最小值。
Value = 200
smallchang = 1
largechang = 1
设定Value值的改变量。
Picture1.PaintPicture Picture2.Picture, 0, 0, _
Picture1.Width * HScroll1.Value / 100, _
Picture1.Height * HScroll1.Value / 100, 0, 0, _
Picture2.Width, Picture2.Height
使用滚动条缩放图片
End Sub
Private Sub Picture1_MouseDown(Button As Integer, _
Shift As Integer, X As Single, Y As Single)
X1 = X
Y1 = Y
End Sub
Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
X2 = X
Y2 = Y
X3 = X3 + X2 - X1
Y3 = Y3 + Y2 - Y1
Picture1.Picture = LoadPicture(tempstring)
Picture1.Cls
If HScroll1.Value <> 100 Then
使用鼠标移动图片
Picture1.PaintPicture Picture2.Picture, X3, Y3, _
Picture1.Width * HScroll1.Value / 100, _
Picture1.Height * HScroll1.Value / 100
使用PaintPicture方法
Else
Picture1.PaintPicture Picture2.Picture, X3, Y3, _
Picture1.Width, Picture1.Height
End If
End Sub
Private Sub munfileopen_Click()
菜单栏"打开"
CommonDialog1.ShowOpen
Picture2.Picture = LoadPicture(CommonDialog1.FileName)
Picture1.Cls
Picture1.PaintPicture Picture2.Picture, 0, 0, _
Picture1.Width, Picture1.Height, 0, 0, _
Picture2.Width, Picture2.Height
Picture2.Visible = False
CommonDialog1.Filter = "pictures|(*.bmp)|*.bmp|pictures|(*.jpg)|*.jpg|pictures|(*.gif)|*.gif|pictures|(*.ico)|*.ico"
设定载入文件的格式
munbigger.Enabled = True
munsmaller.Enabled = True
munback.Enabled = True
mysize = FileLen(CommonDialog1.FileName)
Picture2.ScaleMode = 3
StatusBar1.Panels(1) = "图片尺寸:" & _
Picture2.ScaleWidth & "" & Picture2.ScaleHeight
StatusBar1.Panels(2) = "文件大小:" & _
Int(mysize / 1024 * 10 + 0.5) / 10 & "KB"
StatusBar1.Panels(3) = "修改日期:" & "2012-6-21 " & "14:00"
End Sub
Private Sub munfileexit_Click()
菜单栏"关闭"
Unload Me
End Sub
Private Sub munbigger_Click()
菜单栏"放大"
Picture1.Cls
Picture2.Width = Picture2.Width * 0.8
Picture2.Height = Picture2.Height * 0.8
Picture1.PaintPicture Picture2.Picture, 0, 0, _
Picture1.Width, Picture1.Height, 0, 0, _
Picture2.Width, Picture2.Height
End Sub
Private Sub munback_Click()
菜单栏"还原"
Picture2.Picture = LoadPicture(Dir1.Path & "\" & File1.FileName)
Picture1.PaintPicture Picture2.Picture, 0, 0, _
Picture1.Width, Picture1.Height, 0, 0, _
Picture2.Width, Picture2.Height
Picture2.Visible = False
End Sub
四、设计方案的完善及目前存在的问题
1.设计方案要完善的地方
①增加根据图片的长宽比改变PictrueBox的长宽比。
②增加改变窗口大小,窗口上的图片也要做相应的调整。
③完善菜单栏的“打开”功能和鼠标拖动图片功能。
2. 目前存在的问题
①菜单栏的“打开”功能不够完善。
②单击鼠标拖动图片功能不能令人满意。
③文件的信息显示不够全面。
五、本次设计的收获及心得体会
①在打好基础的前提下,努力拓宽自己的知识面。
②增加练习的时间,把基础做扎实。
六、对该题目和VB设计的意见和建议
1. 对该题目的意见和建议
①增加对图片文件的简单的编辑功能。如缩放、裁减、添加文本框等。
②在浏览功能方面,增加全屏浏览、旋转等功能。
2.对本次设计的意见和建议
希望老师的提示能更多一些,多提供一些有用的控件和控件的详细使用方法。
图片浏览器课程设计报告(VB) 编号:14
展开阅读全文