VC++图像处理程序设计(第1版)    杨淑莹 编著     边奠英 主审
第二章 图像的显示
Joanna-In-Hdu&Hust 手工打,印象更深刻
使用工具 VS2010 mfc

声明:这一章开始的代码都是本人实际演示过的,按照本人的操作可以运行。程序并没有很强的健壮性,只能对正确的操作做出符合预期的响应。

整本书的代码文件、测试图片和程序运行exe请在这里下载https://github.com/CaptainLYN/VCPictureProcessing

 

由于这本书我已经做完很长时间了,对于文章中的文字的重点现在已是不甚记得了,所以在此为了避免误导,只贴出代码,代码中大都有我写这个代码时候的心得,基本上都是书中的代码,很多地方都有写注释哦,有问题的同学可以直接再代码中找一找答案~

相对于(错误百出的)原书有修改的地方大多都有说明。

说了这么多,突然想把这本书更新完,只是想做事情有始有终U•ェ•*U

正文:第二章 图像的显示

一、CViewImage.h 中是第二章用到的所有函数的声明,其实是建了一个类:

 

 1 #pragma once
 2 class CDib;
 3 class CViewImage:public CView
 4 {
 5 protected:
 6     CPalette *hPalette;//这两个变量都是指针,为什么不是实体类呢?假如程序一次运行只打开一次文件,类是可以的;多次打开会出现内存错误(大家可以试一下),指针的话,没打开一次都是新建一个类,打开完了即没了,适合用指针
 7     CDib *dib;
 8     
 9 public:
10 
11     void GetDib(CDib *dib2);//CObject是不能直接作为参数传递的,因为不能被复制,是私有函数
12 
13     void virtual OnDraw(CDC *pDC);//CDC类是设备上下文类,用于绘图输出的,实现虚函数
14     void OnDraw2(CDC *pC,int x_move,int y_move);//原图像显示位置可以移动的绘图函数
15     void OnDraw3(CDC *pDC,LPBYTE temp,int x_move,int y_move);
16     void OnDraw4(CDC *pC,int x_move,int y_move,int need_width,int need_height);//可以在原图绘制想要的大小,并没有修改原图的info
17 
18     CPalette* CreateBitmapPalette(CDib *pBitmap);
19     void OnXiangxia(CDC *pDC);//改成了有参数的,CDC在对话框中获取,在这个函数里面获取有中断问题,没解决为什么
20     void OnXiangshang(CDC *pDC);//向上扫描
21     void OnXiangyou(CDC *pDC);//向右扫描
22     void OnXiangzuo(CDC *pDC);//向左扫描
23     void ToShuiPingYouYi(CDC *pDC);//水平右移
24     void ToChuiZhiShangYi(CDC *pDC);//垂直上移
25     void ToJiaoChaFeiRu(CDC *pDC);//交叉飞入
26     void ToSiZhouKuoZhang(CDC *pDC);//四周扩张
27     void ToZhongJianShouSuo(CDC *pDC);//中间收缩
28     void ToShuiPingShanTiao(CDC *pDC);//水平栅条
29     void TOShuZhiShanTiao(CDC *pDC);//竖直栅条
30     void ToTuXiangJianXian(CDC *pDC);//图像渐显
31     void ToShuiPingBaiYeChuang(CDC* pDC);//水平百叶窗
32     void ToShuZhiBaiYeChuang(CDC* pDC);//垂直百叶窗
33     void ToMaSaiKeXianShi(CDC *pDC);//马赛克显示
34 
35 };//这边少一个分号就多了20几个错误,因为include后面没有分号
View Code

相关文章:

  • 2022-12-23
  • 2021-10-17
  • 2021-09-07
  • 2021-11-29
  • 2021-10-13
  • 2021-08-13
  • 2021-10-11
  • 2021-07-22
猜你喜欢
  • 2022-12-23
  • 2021-05-02
  • 2022-12-23
  • 2021-08-09
  • 2021-11-07
  • 2022-12-23
相关资源
相似解决方案