DC简介

DC英文全称为Device Content,中文翻译即为设备上下文。第一次使用这个是在MFC编程的时候,完全不能理解这个的含义和作用。

近来要用wxWidget进行图像的绘制,又碰到了DC的使用,因此做下总结。

DC的形象在我看来像是个画板,它有个SelectObject方法,用来绑定绘制的对象,这个就好比是纸张画布了。除此DC还有SetPen和SetBrush,这个就是选择画笔和画刷了,以及各种Draw方法,用于在纸上绘制图案。DC还有个比较不一样的方法,就是Blit了,其是将一个DC的部分内容复制到另一个DC里,相当于copy操作。

说完了DC,再说说这个画纸,这个就很多样了,其决定了DC的表现形式。我们常用的画纸是什么呢,当然就是屏幕了。我们可以在屏幕上绘制和看到我们想要的一切。除此之外还有图片,打印机等。

wxWidgets的各类DC

  • wxClientDC. 用来在一个窗口的客户区绘画。
  • wxClientDC. 用来在一个窗口的客户区绘画。
  • wxBufferedDC. 用来代替wxClientDC来进行双缓冲区绘画。
  • wxWindowDC. 用来在窗口的客户区和非客户区(比如标题栏)绘画.这个设备上下文极少使 用而且也不是每个平台都支持。
  • wxPaintDC. 仅用在重绘事件的处理函数中,用来在窗口的客户区绘画。
  • wxBufferedPaintDC. 和wxPaintDC类似,不过采用双缓冲区进行绘画。
  • wxScreenDC. 用来直接在屏幕上绘画。
  • wxMemoryDC. 用来直接在图片上绘画。
  • wxMetafileDC. 用来创建一个图元文件(只支持Windows和Mac OS X).
  • wxPrinterDC. 用来在打印机上绘画。
  • wxPostScriptDC. 用来在PostScript文件上或者在支持PostScript的打印机上绘画。

flycat666
1 声望0 粉丝

写点文章,记录自己的心得体会