欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    简易图片浏览软件设计.doc

    • 资源ID:1081784       资源大小:223.01KB        全文页数:21页
    • 资源格式: DOC        下载积分:10积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要10积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    简易图片浏览软件设计.doc

    1、简易图片浏览软件设计目 录内容1选题背景22方案论证23软件设计34程序代码55结果分析186总结19参考文献 201 选题背景基于Microsoft Visual Basic 6.0环境的图片浏览器。对Microsoft Visual Basic 6.0软件的进一步了解,运用所学知识解决实际问题。本课题解决的主要问题及技术要求有:1) 多个图片的添加与编号。2) 对已打开图片的文件名以及文件路径的记录并与原图片相对应。3) 已添加图片的单个选择查看。4) 实现图片的上一张,下一张切换。5) 可以自动播放已经添加的图片。6) 对大图片的适应窗口缩放。7) 图片的任意放大缩小,与放大或缩小以后的

    2、图片移动(可以通过鼠标拖动与点击按钮两种方式进行)。8) 可以将正在查看的图片在windows系统的画图板中打开编辑。9) 将选择的图片另存为。2 方案论证程序设计原理:1) 使用菜单栏、工具栏以及按钮操作程序。2) 使用commondialog控件来添加文件。3) 使用imagelist控件来对添加的图片标号,记录。4) 使用数组记录所添加图片的文件名、以及文件路径,并在状态栏显示。5) 使用picture控件和image控件来显示图片。6) 使用timer控件控件自动播放的时间。程序采用方案图片使用imagelist编号并加载。文件名与路径使用两个字符数组Names()与Lu()分别记录。

    3、3 软件设计流程界面设计功能设计程序编写运行调试控件对象属性列表表1 控件属性表默认名称NameCaptionEnableCommand1Command1上一个TrueCommand2Command2自动播放TrueCommand3Command3下一个TrueCommand4Command4适应窗口TrueCommand5Command5上移EnableCommand6Command6左移EnableCommand7Command7下移EnableCommand8Command8右移EnableCommand9Command9缩小EnableCommand10Command10放大Enabl

    4、eCombo1Combo1TrueTimer1Timer1EnableTimer2Timer2Enable菜单栏属性 图3-1 菜单栏“文件” 图3-2 菜单栏“编辑” 图3-3 菜单栏“设置” 图3-4 菜单栏“帮助” 图3-5 菜单栏属性工具栏属性图3-6 工具栏状态栏属性图3-7 状态栏程序运行截图图3-8 程序运行界面4 程序设计代码Public Time As Integer, a As IntegerDim Names(100) As String, Lu(100) As String 定义文件名和文件路径的数组Public x1 As Single, y1 As SinglePu

    5、blic p As IntegerConst begin_drag = 1 开始拖动*Private Sub Picture1_DragDrop(Source As Control, X As Single, Y As Single) 图片缩小后拖动的重画Image1.Picture = SourceForm1.Image1.Picture = LoadPicture(StatusBar1.Panels(4) 拖动后重画picture中的图片Image1.Move (X - x1), (Y - y1) Label2.Caption = 图片当前位置 ( & Image1.Left & , &

    6、Image1.Top & )End Sub*Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) 拖动x1 = X 确定重画的坐标y1 = YImage1.Drag begin_dragLabel2.Caption = 图片当前位置 ( & Image1.Left & , & Image1.Top & )End Sub*Private Sub Toolbar1_ButtonClick(ByVal Button As MSComCtlLib.Button) 工具栏 O

    7、n Error Resume Next Select Case Button.Key Case 打开 Dim i As Integer a = Val(InputBox(请输入要打开的图片张数, 输入一个整数) If a = 0 Then GoTo Line1 未输入或点击取消 End If For i = 1 To a CD1.ShowOpen Lu(i) = CD1.FileName If CD1.FileName = Then GoTo Line1 如果点击取消后返回窗体 End If Names(i) = CD1.FileTitle Combo1.AddItem Lu(i) 将所选的图

    8、片加载到combo1 ImageList1.ListImages.Add , , LoadPicture(Lu(i) 将所选的图片加载到imagelist1 Next i Picture1.Picture = LoadPicture(Combo1.List(0)添加后默认显示第一张图片 StatusBar1.Panels(4) = Lu(1) 在状态栏显示文件路径 StatusBar1.Panels(2) = Names(1) 在状态栏显示文件名 OpenPicture.Enabled = False Save.Enabled = True Case 保存 CD1.ShowSave If Sh

    9、owSave = vbOK Then 点击确认后保存文件 SavePicture Picture1, CD1.FileName End If Case 帮助 Shell c:windowssystem32notepad.exe + readme.txt 显示帮助文档 *.exe后要加空格 End SelectLine1:End Sub*Private Sub Form_Load()Timer1.Enabled = TrueTimer1.Interval = 1000CD1.Filter = 所有文件(*.jpg,*.bmp,*.jpeg)|*.jpg;*.bmp;*.jpeg|jpg格式|*.

    10、jpg|jpeg格式|*.jpeg|bmp格式|*.bmpImage1.Visible = FalseIf Picture1 = 0 Then 未加载图片保存按钮不可用 Save.Enabled = FalseEnd IfEnd Sub*Private Sub Combo1_Click()Image1.Top = 0: Image1.Left = 0: Image1.Height = 8000: Image1.Width = 10000If Image1.Visible = False Then Picture1.Picture = LoadPicture(Combo1.Text) 当前显示的

    11、图片 StatusBar1.Panels(4) = Lu(Val(Combo1.ListIndex) + 1) 在状态栏显示文件路径 StatusBar1.Panels(2) = Names(Val(Combo1.ListIndex) + 1)在状态栏显示文件名ElseIf Image1.Visible = True Then Image1.Picture = LoadPicture(Combo1.Text) StatusBar1.Panels(4) = Lu(Val(Combo1.ListIndex) + 1) 在状态栏显示文件路径 StatusBar1.Panels(2) = Names(

    12、Val(Combo1.ListIndex) + 1) 在状态栏显示文件名End IfEnd Sub*Private Sub Command1_Click()Image1.Top = 0: Image1.Left = 0: Image1.Height = 8000: Image1.Width = 10000Combo1.Text = 选择已添加的图片If p 0 Then p = p - 1 If Image1.Visible = False Then Picture1.Picture = ImageList1.ListImages(p + 1).Picture 切换上一张图片 StatusBa

    13、r1.Panels(4) = Lu(ImageList1.ListImages(p + 1).Index) 在状态栏显示文件路径 StatusBar1.Panels(2) = Names(ImageList1.ListImages(p + 1).Index) 在状态栏显示文件名 Label1.Caption = 这是第: & p + 1 & 张 一共有: & ImageList1.ListImages.Count & 张图片 Else: Image1.Picture = ImageList1.ListImages(o + 1).Picture 切换上一张图片 StatusBar1.Panels

    14、(4) = Lu(ImageList1.ListImages(p + 1).Index) 在状态栏显示文件路径 StatusBar1.Panels(2) = Names(ImageList1.ListImages(p + 1).Index) 在状态栏显示文件名 Label1.Caption = 这是第: & p + 1 & 张 一共有: & ImageList1.ListImages.Count & 张图片 End IfEnd IfIf p = 0 Then 第一张图片切换上一张后跳转至最后一张图片p = ImageList1.ListImages.CountEnd IfEnd Sub*Pri

    15、vate Sub Command2_Click() 自动播放按钮Image1.Top = 0: Image1.Left = 0: Image1.Height = 8000: Image1.Width = 10000If ImageList1.ListImages.Count = 0 Then 判断当图片大于一张时自动播放 MsgBox 还未添加图片, 64, 提示ElseIf ImageList1.ListImages.Count = 1 Then If Image1.Visible = False Then Picture1.Picture = ImageList1.ListImages(1

    16、).Picture Else: Image1.Picture = ImageList1.ListImages(1).Picture End If MsgBox 只有一张图片, 64, 提示ElseIf Command2.Caption = 自动播放 Then Timer2.Enabled = True Timer2.Interval = 3000 Command2.Caption = 停止播放ElseIf Command2.Caption = 停止播放 Then Timer2.Enabled = False Command2.Caption = 自动播放 Label1.Caption = 这是

    17、第: & p + 1 & 张 一共有: & ImageList1.ListImages.Count & 张图片End IfEnd Sub*Private Sub Command3_Click()Image1.Top = 0: Image1.Left = 0: Image1.Height = 8000: Image1.Width = 10000Combo1.Text = 选择已添加的图片If p ImageList1.ListImages.Count Then p = p + 1 If Image1.Visible = False Then Picture1.Picture = ImageLis

    18、t1.ListImages(p).Picture 切换下一张图片 StatusBar1.Panels(4) = Lu(ImageList1.ListImages(p).Index) 在状态栏显示文件路径 StatusBar1.Panels(2) = Names(ImageList1.ListImages(p).Index) 在状态栏显示文件名 Label1.Caption = 这是第: & p & 张 一共有: & ImageList1.ListImages.Count & 张图片 ElseIf Image1.Visible = True Then Image1.Picture = Image

    19、List1.ListImages(p).Picture 切换下一张图片 StatusBar1.Panels(4) = Lu(ImageList1.ListImages(p).Index) 在状态栏显示文件路径 StatusBar1.Panels(2) = Names(ImageList1.ListImages(p).Index) 在状态栏显示文件名 Label1.Caption = 这是第: & p & 张 一共有: & ImageList1.ListImages.Count & 张图片 End If End IfIf p = ImageList1.ListImages.Count Then

    20、最后一张跳转至第一张p = 0End IfEnd Sub*Private Sub Command4_Click() picturebox与image的切换来实现更多的功能Image1.Top = 0: Image1.Left = 0: Image1.Height = 8000: Image1.Width = 10000If Command4.Caption = 适应窗口 Then Command5.Enabled = True Command6.Enabled = True Command7.Enabled = True Command8.Enabled = True Command9.Ena

    21、bled = True Command10.Enabled = True Image1.Visible = True Image1.Picture = Picture1.Picture Picture1.Picture = LoadPicture() Command4.Caption = 原图ElseIf Command4.Caption = 原图 Then Command5.Enabled = False Command6.Enabled = False Command7.Enabled = False Command8.Enabled = False Command9.Enabled =

    22、False Command10.Enabled = False Picture1.Picture = Image1.Picture Image1.Visible = False Command4.Caption = 适应窗口End IfEnd Sub*Private Sub Command5_Click() 上移Image1.Top = Image1.Top - 100End Sub*Private Sub Command6_Click() 左移Image1.Left = Image1.Left - 100End Sub*Private Sub Command7_Click() 下移Image

    23、1.Top = Image1.Top + 100End Sub*Private Sub Command8_Click() 右移Image1.Left = Image1.Left + 100End Sub*Private Sub Command9_Click() 缩小 Image1.Height = Image1.Height * 0.9 Image1.Width = Image1.Width * 0.9End Sub*Private Sub Command10_Click() 放大 Image1.Height = Image1.Height * 1.1 Image1.Width = Image

    24、1.Width * 1.1End Sub*Private Sub Clean_Click() 初始化Combo1.ClearLabel1.Caption = Image1.Picture = LoadPicture()Picture1.Picture = LoadPicture() 清空图片框内的内容ImageList1.ListImages.Clear 清空imagelist1里面的图片Combo1.Text = 选择已经添加的图片Save.Enabled = FalseOpenPicture.Enabled = TrueStatusBar1.Panels(4) = StatusBar1.P

    25、anels(2) = EndSub*Private Sub Save_Click() 图片的保存 CD1.ShowSaveIf ShowSave = vbOK Then 点确认后保存SavePicture Picture1, CD1.FileNameEnd IfEnd Sub*Private Sub EasyHelp_Click()MsgBox 简单的图片浏览器 + Chr(13) + 先添加图然后操作 + Chr(13) + 详情见帮助, 64, 软件介绍End Sub*Private Sub End_Click() 退出程序EndEnd Sub*Private Sub Help_Click

    26、() 打开帮助Shell c:windowssystem32notepad.exe + readme.txt *.exe后要加空格End Sub*Private Sub OpenPicture_Click() 图片组的打开Dim i As Integera = Val(InputBox(请输入要打开的图片张数, 输入一个整数)If a = 0 Then 不输入数据点确认,或点击取消后取消GoTo Line1End IfFor i = 1 To a 对添加的图片编号,并记录文件的名称,路径CD1.ShowOpenLu(i) = CD1.FileNameIf CD1.FileName = Then

    27、 如果点击取消添加后取消GoTo Line1 返回窗体End IfNames(i) = CD1.FileTitleCombo1.AddItem Lu(i) 将所选的图片加载到combo1ImageList1.ListImages.Add , , LoadPicture(Lu(i) 将所选的图片加载到imagelist1Next iPicture1.Picture = LoadPicture(Combo1.List(0) 添加后默认显示第一张图片StatusBar1.Panels(4) = Lu(1) 在状态栏显示文件路径StatusBar1.Panels(2) = Names(1) 在状态栏显

    28、示文件名OpenPicture.Enabled = FalseSave.Enabled = True 添加文件后保存按钮可用Line1:End Sub*Private Sub SetTime_Click() 设定自动播放时间间隔Line2: Z = InputBox(请输入你需要的自动播放时间间隔(大于1), 请输入一个正整数)Time = Val(Z) 获取自动播放间隔时间Timer2.Interval = Time * 1000If Time = 0 Then 点击取消后默认为4秒Time = 4End IfIf Time 2 ThenMsgBox 输入错误, 48, 提示GoTo Lin

    29、e2End IfEnd Sub*Private Sub Timer1_Timer()StatusBar1.Panels(5).Text = Now 在状态栏中显示现在时间End Sub*Private Sub Timer2_Timer() 图片的自动播放Image1.Top = 0: Image1.Left = 0: Image1.Height = 8000: Image1.Width = 10000If p ImageList1.ListImages.Count Then If Image1.Visible = False ThenPicture1.Picture = ImageList1.

    30、ListImages(p + 1).Picture 自动切换到下一张图片StatusBar1.Panels(4) = Lu(Val(ImageList1.ListImages(p + 1).Index) 在状态栏显示文件路径StatusBar1.Panels(2) = Names(Val(ImageList1.ListImages(p + 1).Index) 在状态栏显示文件名 ElseIf Image1.Visible = True ThenImage1.Picture = ImageList1.ListImages(p + 1).Picture 自动切换到下一张图片StatusBar1.P

    31、anels(4) = Lu(Val(ImageList1.ListImages(p + 1).Index) 在状态栏显示文件路径StatusBar1.Panels(2) = Names(Val(ImageList1.ListImages(p + 1).Index) 在状态栏显示文件名 End If Label1.Caption = 正在自动播放.这是第: & p + 1 & 张 一共有: & ImageList1.ListImages.Count & 张图片 p = p + 1ElseIf p = ImageList1.ListImages.Count Then 播放完最后一张时,跳转至第一张

    32、继续播放 q = MsgBox(播放完毕 + Chr(13) + 是否返回第一张继续播放?, 65, 提示) If q = vbOK Then p = 0 播放完最后一张时,跳转至第一张继续播放 Else: Call Command2_Click 播放结束 End IfEnd IfEnd Sub*Private Sub Tuya_Click() 将显示的图片在画图板中打开Shell c:windowssystem32mspaint.exe + StatusBar1.Panels(4).Text *.exe后要加空格End Sub5 结果分析在程序编辑完成后调试过程中出现了很多细节问题:1) 打

    33、开或保存文件对话框,以及input对话框,点击取消后程序会出现错误。解决方法:通过if选择语句来判断避免与goto语句来跳过。2) 图片浏览时点击下一张(上一张)查看几张照片后再点击上一张(下一张、自动播放)时,跳至第一张图片。解决方法:运用全局变量来统一控制“上一张”、“下一张”、“自动播放”时图片切换的传递参数,使三个事件的变量一样来避免查看时跳至第一张图片的错误。3) 设置自动播放间隔时间的input对话框点击取消后程序崩溃。解决方法:使用if语句来判断所选的按钮,来选择后续执行代码。6总结经过这次的课程设计,经过对程序代码的书写与调试,我对该课程有了更深的理解。尤其是对课程的建设理念、建设思路、方法与经验,使我们对该课程的指导思想和理念有了新的体会。对面向应用的要求认识不足,强调理论,轻视上机实践的我们留下了一个深刻的映像,程序的编写不像课本知识一样死板。程序设计的思想与需要用到的知识,需要在查阅大量参考资料的情况下才能有更深的认识。启发我们的自主学习,计算机知识是无穷的,没有自主学习能力,就不会了解到很多细节的东西。这些调试的细节需要很多的,经验与总结。注重我们创新认知能力的培养,提供创新范围,


    注意事项

    本文(简易图片浏览软件设计.doc)为本站会员(星星)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922