在window中绘制图像――CDC设备环境类
2010-09-05 20:52
127 查看
Visual C++的CDC类是MFC中最重要的类之一,它封装了绘图所需要的所有函数,是用户编写图形和文字处理程序所必不可少的。
CDC是一个很大的类,包含了各种类型的Windows设备描述表的全部功能,封装了所有的与Win32 GDI函数和设备表相关的SDK函数。在MFC下,使用CDC的成员函数来完成所有的窗口绘制工作,包括创建和初始化DC的函数、绘制一般图形的GDI函数和绘制各种复杂图形的GDI函数。CDC类派生子CObject,它具有CObject类共同特性,如,如可以动态创建、进行序列化等。CDC有四个派生类,以标明不同的绘制权限。分别为CClientDC、CPaintDC、CWindowsDC和CMetaFileDC。
CClientDC:是CDC类的派生类之一,它主要实现在窗口的客户区中绘制图形。其构造函数CClientDC(CWnd * pWin)通过CClientDC::GetDC函数获取指定窗口的客户区的设备描述表,并且使用成员函数Attach把它和CClientDC对象绑在一起;其析构函数使用成员函数Detach把设备描述表句柄HDC分离出来,并调用CClientDC::ReleaseDC释放设备描述表HDC。
CPaintDC:他一般用来响应WM_PAINT消息时绘制窗口。他的构造函数调用了CPaintDC::BeginPaint获取设备描述表HDC,并且使用成员函数Attach把它和CPaintDC对象绑在一起;其析构函数使用成员函数Detach把设备描述表句柄HDC分离出来,并调用CPaintDC::EndPaint释放设备描述表HDC。而CPaintDC::BeginPaint和CPaintDC::EndPaint仅仅在相应WM_PAINT时使用。
CWindowDC:代表整个窗口区(包括非客户区)的设备描述表。其构造函数CWindowDC(CWnd *pWin)通过CWindowDC::GetWindowDC函数获取指定窗口的客户区的设备描述表HDC,并且使用成员函数Attach把它和CWindowtDC对象绑在一起;其析构函数使用成员函数Detach把设备描述表句柄HDC分离出来,并调用CWindowDC::ReleaseDC释放设备描述表HDC。用于在窗口内任意地方画图,包括非客户区。
CMetaFileDC:用于绘制GDI图元文件,这个类封装了Windows图元文件中绘图的方法。
本文出自 “痴心的秤子” 博客,请务必保留此出处http://yinpengshuai.blog.51cto.com/1306633/387659
CDC是一个很大的类,包含了各种类型的Windows设备描述表的全部功能,封装了所有的与Win32 GDI函数和设备表相关的SDK函数。在MFC下,使用CDC的成员函数来完成所有的窗口绘制工作,包括创建和初始化DC的函数、绘制一般图形的GDI函数和绘制各种复杂图形的GDI函数。CDC类派生子CObject,它具有CObject类共同特性,如,如可以动态创建、进行序列化等。CDC有四个派生类,以标明不同的绘制权限。分别为CClientDC、CPaintDC、CWindowsDC和CMetaFileDC。
CClientDC:是CDC类的派生类之一,它主要实现在窗口的客户区中绘制图形。其构造函数CClientDC(CWnd * pWin)通过CClientDC::GetDC函数获取指定窗口的客户区的设备描述表,并且使用成员函数Attach把它和CClientDC对象绑在一起;其析构函数使用成员函数Detach把设备描述表句柄HDC分离出来,并调用CClientDC::ReleaseDC释放设备描述表HDC。
CPaintDC:他一般用来响应WM_PAINT消息时绘制窗口。他的构造函数调用了CPaintDC::BeginPaint获取设备描述表HDC,并且使用成员函数Attach把它和CPaintDC对象绑在一起;其析构函数使用成员函数Detach把设备描述表句柄HDC分离出来,并调用CPaintDC::EndPaint释放设备描述表HDC。而CPaintDC::BeginPaint和CPaintDC::EndPaint仅仅在相应WM_PAINT时使用。
CWindowDC:代表整个窗口区(包括非客户区)的设备描述表。其构造函数CWindowDC(CWnd *pWin)通过CWindowDC::GetWindowDC函数获取指定窗口的客户区的设备描述表HDC,并且使用成员函数Attach把它和CWindowtDC对象绑在一起;其析构函数使用成员函数Detach把设备描述表句柄HDC分离出来,并调用CWindowDC::ReleaseDC释放设备描述表HDC。用于在窗口内任意地方画图,包括非客户区。
CMetaFileDC:用于绘制GDI图元文件,这个类封装了Windows图元文件中绘图的方法。
本文出自 “痴心的秤子” 博客,请务必保留此出处http://yinpengshuai.blog.51cto.com/1306633/387659
相关文章推荐
- MFC基本图形的绘制(一)设备环境类CDC、画笔和画刷
- window图像设备接口及绘图
- 使用Window的DC把OpenCV读入的图像数据绘制出来
- 如何在symbian下绘制Gif图像
- Delphi实例之绘制正弦函数图像
- 5. Quartz2D 绘制图像
- opencv鼠标绘制矩形和截取图像的矩形区域
- SDL2.0 绘制图像
- matlab绘制一元函数图像
- 关于VC绘制图像的直方图
- 绘制Mat图像
- 处理2D图像和纹理——将场景绘制到纹理
- 【python图像处理】直线和曲线的拟合与绘制(curve_fit()详解)
- 【OpenCV】OpenCV的图像绘制功能
- Python-OpenCV 杂项(一):图像绘制
- 【Window内核驱动开发】——通过符号链接获取真实设备
- HALCON不支持的设备中,获取图像
- php使用GD图像库绘制输出图像出现乱码问题和图片上输出中文出现乱码问题解决方法。
- 【图像处理】小谈体绘制可视化
- 详解DC、CDC、HDC、句柄、设备上下文