




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1实训开发目标本实训开发一个对图片进行滤镜效果处理的程序,程序可以对任意格式图像文件进行处理,利用Microsoft Visual Basic语言实现。滤镜操作包括柔化、锐化、浮雕、扩展和自定滤镜等各种类型,用户根据需要选择相应菜单操作即可。3实验步骤(1)添加模块启动VB之后,新建一个“标准EXE”,选择菜单“工程”“添加模块(M)”。保存模块名为模块ImgMod.bas。然后在模块中添加如下代码:第90页相关代码(2)添加窗体与窗体界面设计新建窗体方法:选择“文件”菜单“新建工程”选择“标准 EXE”“确定”。也可在“工程”窗口中,点击右键,选择“添加”“添加窗体”实现新建。本实例需实现多种效果,因此需要多个窗体,建立窗体方法类同。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节图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 “自定义滤镜”界面设计在窗体上,添加一个文本框控件数组(添加一个textbox1,选中然后复制即可创建一个文本框数组)、一个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”(控件数组中文本都为“1”)Text2 Text:“9”Text3 Text:“0”* “自定义滤镜”窗体代码(第92页)*控制输入正确数值添加9293页的相关代码加载窗体,初始化Private Sub Form_Load() Option1_Click 当frmCustomFilter 窗体初始化时选择Option1(33)单选钮 End Sub“3 X 3”单选按钮事件Private Sub Option1_Click()Dim i As Integer 下面的两个For循环将隐藏Text1数组外围的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控件数组的内容传递给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 “设置锐化程度”窗体代码滑块值改变控制输入正确数值添加第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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年宁波市象山县数学三年级第一学期期末教学质量检测试题含解析
- 2024年吉林省长春市九台区兴隆中心学校数学三上期末质量跟踪监视模拟试题含解析
- 执业护士考试关键注意事项试题及答案
- 护理市场的新机遇试题及答案探讨
- 紫色中国风爱国诗人辛弃疾
- 打造执业药师考试优势试题及答案
- 主管护师考试的多元化考察方式分析试题及答案
- 行政管理复习技巧与试题答案收集
- 2025年执业医师考试的现场表现训练试题及答案
- 生物化学执业医师考试试题及答案
- 2025年视觉传达设计专业能力考试试题及答案
- 《家具设计》课件
- 任务一淘米(教学课件)一年级下册劳动技术(人美版)
- 门头承包合同协议书范本
- 国有融资担保公司笔试真题解析
- 顶管机租凭合同协议
- 出纳人员面试题及答案
- 中招美育考试试题及答案
- 2025年湖南中考英命题分析及复习备考策略指导课件
- 四年级下册英语竞赛试题
- 《全球教育服务贸易》课件
评论
0/150
提交评论