码迷,mamicode.com
首页 > 其他好文 > 详细

CreateCompatibleDC工作原理

时间:2014-06-08 10:03:17      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:c   style   class   a   http   tar   

WindowsGDI的接口没提供这样的功能机制,只能是先通过CreateCompatibleDC 创建一个与显示器设备内容兼容的内存设备内容,用SelectObject将位图选入内存设备内容,再用BitBlt函数进行从内存到显存的位块传输。 

DC是设备内容,是我们问题的核心,请看《Windows程序设计》关于设备内容的讲解:
设备内容:
设备内容中包含许多确定GDI函数如何在设备上工作的目前「属性」,这些属性允许传递给GDI函数的参数只包含起始坐标或者尺寸信息,而不必包含Windows在设备上显示对象时需要的所有其它信息。例如,呼叫TextOut时,您只需要在函数中给出设备内容句柄、起始坐标、文字和文字的长度。您不必指定字体、文字颜色、文字后面的背景色彩以及字符间距,因为这些属性都是设备内容的一部分。当您想改变这些属性之一时,您呼叫一个可以改变设备内容中属性的函数,以后针对该设备内容的TextOut呼叫来使用改变后的属性。
内存设备内容:

设备内容指的是特殊的图形输出设备(例如显示器或者打印机)及其设备驱动程序。而内存设备内容只位于内存中,它不是真正的图形输出设备,但可以说与指定的真正设备「兼容」。也就是说内存设备内容具有和显示器设备内容相同的结构,也存放与屏幕显示相关的信息。

另外书中还说:内存设备内容是您可以选进位图的唯一一种设备内容型态。也就是说,我们不能够调用SelectObject(显示器设备内容句柄, 位图句柄)直接将位图选入显示器设备内容。

CreateCompatibleDC工作原理,布布扣,bubuko.com

CreateCompatibleDC工作原理

标签:c   style   class   a   http   tar   

原文地址:http://blog.csdn.net/ghevinn/article/details/28642323

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!