




已阅读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年特岗教师招聘考试初中化学模拟题及解析
- 2025年金融行业从业资格认证考试指南及模拟题解答
- 电力基础知识培训课件通知
- 2025年炼钢工初级技能水平测试试题库
- 2025年炼钢工艺中级考试题库及答案解析
- 2025年初中地理特岗教师招聘考试复习资料与预测题
- 电剪安全知识培训内容课件
- 2025年物资储备与管理专业面试指南及模拟题集
- 2025年跨越时代的传承AR技术下皮影雕艺人专业预试题
- 2025年特岗教师招聘考试知识点详解高中地理
- 节假日值班人员安排管理制度
- 2025年新版《食品安全法》知识竞赛试题(附答案)
- 2025至2030中国保护器行业发展趋势分析与未来投资战略咨询研究报告
- 劳动教育主题活动课说课稿
- 八年级英语备课组教学工作计划范文
- 2025年电商行业直播带货研究报告:直播电商产业链分析
- (正式版)DB44∕T 2683-2025 《老年肌少症中西医结合健康管理规范》
- 企业工程管理办法
- 小学生美术国画课件
- 基孔肯雅热的个案护理
- 医疗反歧视培训
评论
0/150
提交评论