多语言展示
当前在线:922今日阅读:4今日分享:26

怎样用VC++实现位图的镜像

在我以前写的经验《怎样用VC++实现位图的灰度化》的基础上,我们继续增加功能,用VC++6.0实现位图平移的镜像,位图镜像又分水平镜像和垂直镜像,是数字图像几何变换的基本功能。
工具/原料
1

VC++6.0集成开发环境

2

VC++多文档位图浏览器

步骤/方法
1

利用VC++6.0集成开发环境打开已经完成的《VC++多文档位图浏览器》项目文件bmppic

2

利用资源管理器(ResourceView),在菜单(Menu)文件夹下的IDR_BMPPICTYPE菜单里添加新的菜单项【运算】-【水平镜像】,并设置其ID为id_HorizontalMirror

3

继续在菜单(Menu)文件夹下的IDR_BMPPICTYPE菜单里添加新的菜单项【运算】-【垂直镜像】,并设置其ID为id_VerticalMirror

4

在项目文件夹 【头文件(Header Files)】下的文件“Processing.h”中添加如下图红框中的内容 ,也就是在Processing类中添加它的两个成员函数:void MirrorHorTrans(); //水平镜像 void MirrorVerTrans(); //垂直镜像

5

在【View】菜单中选择【ClassWizard】,在object IDs中选择id_HorizontalMirror,消息中选择COMMAND,点击按钮Add Function,为【水平镜像】按钮映射函数OnHorizontalMirror(),点击OK

6

继续在【View】菜单中选择【ClassWizard】,在object IDs中选择id_VerticalMirror,消息中选择COMMAND,点击按钮Add Function,为【水平镜像】按钮映射函数OnVerticalMirror(),点击OK

7

在文件“Processing.cpp”编写函数MirrorHorTrans(),实现对图像水平镜像功能,代码如下图内容所示

8

在文件“Processing.cpp”编写函数MirrorVerTrans(),实现对图像垂直镜像功能,代码如下图内容所示

9

在文件'bmppicView.cpp'中编写函数“OnHorizontalMirror()”,实现视图显示功能,内容如下图所示

10

同样在文件'bmppicView.cpp'中编写函数“OnVerticalMirror()”,实现视图显示功能,内容如下图所示

11

【ctrl+s】保存项目,【F5】编译,链接,程序无错

12

我们可以以此点击程序菜单上的【运行】-【水平镜像】完成位图的水平镜像,然后选择原图,点击程序菜单上的【运行】-【垂直镜像】完成位图的垂直镜像

注意事项
1

本经验是在我的经验《怎样用VC++实现位图的灰度化》或者经验《怎样用VC++实现多文档位图浏览器》已经完成位图浏览器的基础上加工而成

2

如果您有VC++编程经验,可以根据经验《怎样用VC++实现位图的灰度化》把本文项目更改为您的项目,然后再相应的文件下添加对应用的头文件

3

ClassWizard快捷键:CTRl+W

推荐信息