多媒体软件设计技术.docx

上传人:b****4 文档编号:6143741 上传时间:2023-05-09 格式:DOCX 页数:20 大小:1.20MB
下载 相关 举报
多媒体软件设计技术.docx_第1页
第1页 / 共20页
多媒体软件设计技术.docx_第2页
第2页 / 共20页
多媒体软件设计技术.docx_第3页
第3页 / 共20页
多媒体软件设计技术.docx_第4页
第4页 / 共20页
多媒体软件设计技术.docx_第5页
第5页 / 共20页
多媒体软件设计技术.docx_第6页
第6页 / 共20页
多媒体软件设计技术.docx_第7页
第7页 / 共20页
多媒体软件设计技术.docx_第8页
第8页 / 共20页
多媒体软件设计技术.docx_第9页
第9页 / 共20页
多媒体软件设计技术.docx_第10页
第10页 / 共20页
多媒体软件设计技术.docx_第11页
第11页 / 共20页
多媒体软件设计技术.docx_第12页
第12页 / 共20页
多媒体软件设计技术.docx_第13页
第13页 / 共20页
多媒体软件设计技术.docx_第14页
第14页 / 共20页
多媒体软件设计技术.docx_第15页
第15页 / 共20页
多媒体软件设计技术.docx_第16页
第16页 / 共20页
多媒体软件设计技术.docx_第17页
第17页 / 共20页
多媒体软件设计技术.docx_第18页
第18页 / 共20页
多媒体软件设计技术.docx_第19页
第19页 / 共20页
多媒体软件设计技术.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

多媒体软件设计技术.docx

《多媒体软件设计技术.docx》由会员分享,可在线阅读,更多相关《多媒体软件设计技术.docx(20页珍藏版)》请在冰点文库上搜索。

多媒体软件设计技术.docx

多媒体软件设计技术

 

《多媒体软件设计技术》

课程设计报告

 

课程名称:

多媒体软件设计技术

班级:

学号:

姓名:

指导教师:

 

一、设计说明

该电子相册的设计依据常用图片浏览器的模板,利用visualbasic的强大编程功能和可视化效果,具有常用图片浏览器的各种功能:

1)打开图片

本工程有两个窗体,一个主窗体显示图片和常用命令按钮,副窗体在点击“打开文件”按钮时弹出,显示驱动器名和文件夹名,从中找到需要打开的文件,点击“确认”或“取消”后隐藏副窗体,在主窗体左的列表框中显示所有文件名,双击任意一个即可打开图片。

并在图片上方的label框中显示总图片数当前图片的张数及文件的位置。

2)跳至第一张

点击后跳到第一张图片

3)浏览上一张

单击该按钮实现打开文件夹内的上一张图片。

4)浏览下一张

单击该按钮实现打开文件夹内的下一张图片。

5)图片放大

对当前图片应用放大功能,以每次1.2倍的速度变大图片,并实现左右对齐的功能。

6)图片缩小

对当前片图片应用缩小功能,以每次1.2倍的速度缩小图片,并实现左右对齐的功能。

7)跳至最后一张

点击后跳到最后一张图片。

8)自动浏览

一次点击后开始自动浏览图片,再次点击后停止。

9)退出

点击该按钮后,退出程序。

此外,在每个控制按钮的图标下都有对应的文字说明,便于读者看懂和操作。

为了让界面看起来更和谐,故把所有控件和框体的appearance属性都该为0-flat,backcolor改为和背景图片同色。

在代码方面,使用的语句都较为简洁,便于实现和读者理解,体现了vb的通用性和易懂性。

在窗显示设计方面,用了两个窗体,当完成文件选择后会随着命令隐藏起来,使得整个浏览器更加具有面向对象的特点。

 

二、详细设计

1.程序设计界面

1)frmMain

2)frmOpen

2.程序运行界面

1)打开程序

2)选择文件

 

3)打开第一张图

4)放大效果

5)缩小效果

3.属性值设置

1)主窗体

控件名称

属性名称

属性值

窗体

(主窗体)

Caption

电子相册

startupPostion

2-屏幕中心

Picture

(bitmap)指定图片

名称

frmMain

文件列表框

FileListBox

名称

lstPicName

BackColor

&H00FFFFFF&(浅灰色)

图像框

Image

名称

Image1

Stretch

True(自动调整大小)

命令按钮

CommandButton

(共同的)

Appearance

0-flat

BackColor

&H00FFFFFF&(浅灰)

Style

1-Graphic

Pictrue

(bitmap)制定图片

CommandButton1

Caption

打开文件

名称

cmdOpen

CommandButton2

Caption

跳至第一幅

名称

cmdNavi

CommandButton3

Caption

上一幅图片

名称

cmdNavi

CommandButton4

Caption

下一幅图片

名称

cmdNavi

CommandButton5

Caption

跳至最后一幅

名称

cmdNavi

CommandButton6

Caption

自动浏览/停止

名称

cmdSlide

CommandButton7

Caption

放大

名称

cmdbup

CommandButton8

Caption

缩小

名称

Cmdrdu

CommandButton9

Caption

退出

名称

cmdExit

标签框lable1

名称

lblStatus1

Appearance

0-flat

标签框lable1

名称

lblStatus2

Appearance

0-flat

2)副窗体

控件名称

属性名称

属性值

窗体

(副窗体)

Caption

指定文件夹

BorderStyle(边框)

2-sizeable(可变)

名称

frmOpen

驱动器列表框

DriveListBox

名称

Drive1

BackColor

&H00FFC0C0&(淡灰色色)

Visible

True(后面会变化)

目录列表框

DirListBox

名称

Dir1

BackColor

&H00FFC0C0&(淡灰色色)

标签框lable1

Caption

驱动器

名称

Label1

标签框lable1

Caption

文件夹

名称

Label2

CommandButton

Caption

确定

名称

cmdOK

CommandButton

Caption

取消

名称

cmdCancel

4.代码

1)窗体加载

PrivateSubForm_Load()'窗体加载

strFileType

(1)="BMP"

strFileType

(2)="JPG"'可选择的文件格式

strFileType(3)="GIF"

strFileType(4)="WMF"

strFileType(5)="CUR"

strFileType(6)="ICO"

EndSub

2)打开文件

PrivateSubcmdOpen_Click()'打开文件夹

DimstrFileNameAsString

DimiAsInteger,jAsInteger‘定义变量

frmOpen.Show1

IfPath=""ThenExitSub‘若点击空格键,则结束

lblStatus2.Caption="当前文件夹:

"&Path

Path=Path&"\"

lstPicName.Clear'清空列表框

Fori=1ToFileType

intFileTypeNum(i)=0

strFileName=Dir(Path&"*."&strFileType(i))‘打开图片

DoWhileNotstrFileName=""

intFileTypeNum(i)=intFileTypeNum(i)+1

lstPicName.AddItemstrFileName'向列表框中添加文件名

strFileName=Dir()

Loop

Next

IflstPicName.ListCount>0Then

lstPicName.ListIndex=0

Image1.Picture=LoadPicture(Path&lstPicName.Text)

opened=True

Else

Image1.Picture=LoadPicture

opened=False

EndIf

Image1.Left=(frmMain.ScaleWidth-Image1.Width)/2

Image1.Top=(frmMain.Height+500-Image1.Height)/2

lblStatus1.Caption="共"&lstPicName.ListCount&"张,第"&lstPicName.ListIndex+1&"张"

'在框中显示总图片数和当前图的张数

IflstPicName.ListCount<>0Then

cmdNavi

(2).Enabled=True

cmdNavi(3).Enabled=True

cmdSlide.Enabled=True

EndIf

EndSub

3)图片放大

PrivateSubcmdbup_Click()'图片放大

Image1.Stretch=True'使image框的大小与图片自适应

Image1.Width=Image1.Width*1.2

Image1.Height=Image1.Height*1.2'每次放大1.2倍

Image1.Left=(frmMain.ScaleWidth-Image1.Width)/2

Image1.Top=(frmMain.Height+500-Image1.Height)/2

EndSub

4)图片缩小

PrivateSubCmdrdu_Click()'图片缩小

Image1.Stretch=True'使image框的大小与图片自适应

Image1.Width=Image1.Width/1.2'每次缩小1.2倍

Image1.Height=Image1.Height/1.2

Image1.Left=(frmMain.ScaleWidth-Image1.Width)/2'保持图像居中

Image1.Top=(frmMain.Height+500-Image1.Height)/2

5)自动浏览

PrivateSubcmdSlide_Click()'自动浏览获取图片

IfTimer1.EnabledThen

cmdSlide.Picture=LoadPicture(App.Path&"\play.ico")

Else

cmdSlide.Picture=LoadPicture(App.Path&"\pause.ico")

EndIf

Timer1.Enabled=NotTimer1.Enabled

EndSub

PrivateSubTimer1_Timer()'自动浏览控制

IfNotopenedThenExitSub‘如果未点击结束,则继续

IflstPicName.ListIndex=lstPicName.ListCount-1Then

lstPicName.ListIndex=0'当浏览至最后一张时,跳回第一张

Else

lstPicName.ListIndex=lstPicName.ListIndex+1'下一张

EndIf

Image1.Picture=LoadPicture(Path&lstPicName.Text)

lblStatus1.Caption="共"&lstPicName.ListCount&"张,第"&lstPicName.ListIndex+1&"张"

CallChange_Enabled'调用函数,改变命令按钮的’enabled‘属性

EndSub

6)实现图片上一张下一张的翻动

PrivateSubcmdNavi_Click(IndexAsInteger)

IfNotopenedThenExitSub

SelectCaseIndex

Case0'若index为0,则listindex值变为0

lstPicName.ListIndex=0'无图片

Case1

IflstPicName.ListIndex=0ThenExitSub

lstPicName.ListIndex=lstPicName.ListIndex-1

Case2'若index为2,则listindex值加1,到下一张图片

IflstPicName.ListIndex=lstPicName.ListCount-1ThenExitSub

lstPicName.ListIndex=lstPicName.ListIndex+1

Case3'若index为3,则listindex值减1,到上一张图片

lstPicName.ListIndex=lstPicName.ListCount-1

EndSelect

Image1.Picture=LoadPicture(Path&lstPicName.Text)

lblStatus1.Caption="共"&lstPicName.ListCount&"张,第"&lstPicName.ListIndex+1&"张"'显示图片的总张数和当前张数

CallChange_Enabled'调用函数

PrivateSubChange_Enabled()'调节命令按钮的可操作性

IflstPicName.ListIndex=0Then'当图片数为0时,

cmdNavi(0).Enabled=False'“跳至第一张”不响应

cmdNavi

(1).Enabled=False'“上一张”不响应

cmdNavi

(2).Enabled=True'“下一张”响应

cmdNavi(3).Enabled=True'“跳最后一张”响应

ElseIflstPicName.ListIndex=lstPicName.ListCount-1Then

cmdNavi(0).Enabled=True‘

cmdNavi

(1).Enabled=True

cmdNavi

(2).Enabled=False

cmdNavi(3).Enabled=False

Else

cmdNavi(0).Enabled=True

cmdNavi

(1).Enabled=True

cmdNavi

(2).Enabled=True

cmdNavi(3).Enabled=True

EndIf

EndSub

7)退出程序

PrivateSubcmdExit_Click()'退出程序

UnloadMe

EndSub

三.考试小节

本次试验总的来说是充满坎坷的,在试验之前觉得vb很简单,就没有太在意,觉得电子相册比较实用也比较有趣就选了,等到开始做时才感到所学之不足,首先就不知道如何打开文件,考虑了用DriveListBox、DirListBox、FileListBox控件和CommonDialog控件来完成,但编了好几次都是出现了一些问题,而不能达到预期的效果,接着就是在图片放大缩小方面,由于开始用的是picturebox控件,总是不能实现,然后又想增加一个自动浏览的功能,但在实现的时候,又遇到了问题,才发现vb并非想象的那样简单,就去参考了很多vb方面的书,系统的学习了一下vb编程的方法和各种控件的详细使用方法,后来又在王栋老师主编的《VisualBasic程序开发实例教程》一书中得到启发,经过多次修改后,终于完成这个电子相册的设计。

经过一周的努力,虽然有所小成,但却让我真正领略到了这一高级语言的博大精深,我以后要学习的还很多,正所谓“路漫漫其修远兮,吾将上下而求索!

 

附:

程序全部代码

主窗体

OptionExplicit'变量定义

OptionBase1

PublicPathAsString

PrivateSlideShowAsBoolean

PrivateopenedAsBoolean

PrivateConstFileTypeAsInteger=6'文件类型数目

PrivatestrFileType(FileType)AsString'文件类型的扩展名

PrivateintFileTypeNum(FileType)AsString'各种类型的文件个数

PrivateSubcmdbup_Click()'图片放大

Image1.Stretch=True'使image框的大小与图片自适应

Image1.Width=Image1.Width*1.2

Image1.Height=Image1.Height*1.2'每次放大1.2倍

Image1.Left=(frmMain.ScaleWidth-Image1.Width)/2

Image1.Top=(frmMain.Height+500-Image1.Height)/2

EndSub

PrivateSubcmdExit_Click()'退出程序

UnloadMe

EndSub

PrivateSubcmdNavi_Click(IndexAsInteger)

IfNotopenedThenExitSub

SelectCaseIndex

Case0'若index为0,则listindex值变为0

lstPicName.ListIndex=0'无图片

Case1

IflstPicName.ListIndex=0ThenExitSub

lstPicName.ListIndex=lstPicName.ListIndex-1

Case2'若index为2,则listindex值加1,到下一张图片

IflstPicName.ListIndex=lstPicName.ListCount-1ThenExitSub

lstPicName.ListIndex=lstPicName.ListIndex+1

Case3'若index为3,则listindex值减1,到上一张图片

lstPicName.ListIndex=lstPicName.ListCount-1

EndSelect

Image1.Picture=LoadPicture(Path&lstPicName.Text)

lblStatus1.Caption="共"&lstPicName.ListCount&"张,第"&lstPicName.ListIndex+1&"张"

'显示图片的总张数和当前张数

CallChange_Enabled'调用函数

EndSub

PrivateSubcmdOpen_Click()'打开文件夹

DimstrFileNameAsString

DimiAsInteger,jAsInteger

frmOpen.Show1

IfPath=""ThenExitSub

lblStatus2.Caption="当前文件夹:

"&Path

Path=Path&"\"

lstPicName.Clear'清空列表框

Fori=1ToFileType

intFileTypeNum(i)=0

strFileName=Dir(Path&"*."&strFileType(i))

DoWhileNotstrFileName=""

intFileTypeNum(i)=intFileTypeNum(i)+1

lstPicName.AddItemstrFileName'向列表框中添加文件名

strFileName=Dir()

Loop

Next

IflstPicName.ListCount>0Then

lstPicName.ListIndex=0

Image1.Picture=LoadPicture(Path&lstPicName.Text)

opened=True

Else

Image1.Picture=LoadPicture

opened=False

EndIf

Image1.Left=(frmMain.ScaleWidth-Image1.Width)/2

Image1.Top=(frmMain.Height+500-Image1.Height)/2

lblStatus1.Caption="共"&lstPicName.ListCount&"张,第"&lstPicName.ListIndex+1&"张"

'在框中显示总图片数和当前图的张数

IflstPicName.ListCount<>0Then

cmdNavi

(2).Enabled=True

cmdNavi(3).Enabled=True

cmdSlide.Enabled=True

EndIf

EndSub

PrivateSubCmdrdu_Click()'图片缩小

Image1.Stretch=True'使image框的大小与图片自适应

Image1.Width=Image1.Width/1.2'每次缩小1.2倍

Image1.Height=Image1.Height/1.2

Image1.Left=(frmMain.ScaleWidth-Image1.Width)/2'保持图像居中

Image1.Top=(frmMain.Height+500-Image1.Height)/2

EndSub

PrivateSubcmdSlide_Click()'自动浏览获取图片

IfTimer1.EnabledThen

cmdSlide.Picture=LoadPicture(App.Path&"\play.ico")

Else

cmdSlide.Picture=LoadPicture(App.Path&"\pause.ico")

EndIf

Timer1.Enabled=NotTimer1.Enabled

EndSub

PrivateSubForm_Load()'窗体加载

strFileType

(1)="BMP"

strFileType

(2)="JPG"'可选择的文件格式

strFileType(3)="GIF"

strFileType(4)="WMF"

strFileType(5)="CUR"

strFileType(6)="ICO"

EndSub

 

PrivateSubLabel1_Click()'统计并显示总图片数和当前图的张数

IflstPicName.ListIndex=lstPicName.ListCount-1Then

lstPicName.ListIndex=0

Else

lstPicName.ListIndex=lstPicName.ListIndex+1

EndIf

Image1.Picture=LoadPicture(Path&lstPicName.Text)

lblStatus1.Caption="共"&

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2