• CreateCompatibleDC工作原理


    WindowsGDI的接口没提供这种功能机制。仅仅能是先通过CreateCompatibleDC 创建一个与显示器设备内容兼容的内存设备内容。用SelectObject将位图选入内存设备内容,再用BitBlt函数进行从内存到显存的位块传输。 
    
    DC是设备内容。是我们问题的核心,请看《Windows程序设计》关于设备内容的解说:
    设备内容:
    设备内容中包括很多确定GDI函数怎样在设备上工作的眼下「属性」,这些属性同意传递给GDI函数的參数仅仅包括起始坐标或者尺寸信息,而不必包括Windows在设备上显示对象时须要的全部其他信息。比如。呼叫TextOut时,您仅仅须要在函数中给出设备内容句柄、起始坐标、文字和文字的长度。您不必指定字体、文字颜色、文字后面的背景色彩以及字符间距,由于这些属性都是设备内容的一部分。当您想改变这些属性之中的一个时,您呼叫一个能够改变设备内容中属性的函数,以后针对该设备内容的TextOut呼叫来使用改变后的属性。

    内存设备内容: 设备内容指的是特殊的图形输出设备(比如显示器或者打印机)及其设备驱动程序。而内存设备内容仅仅位于内存中。它不是真正的图形输出设备,但能够说与指定的真正设备「兼容」。也就是说内存设备内容具有和显示器设备内容同样的结构,也存放与屏幕显示相关的信息。 另外书中还说:内存设备内容是您能够选进位图的唯一一种设备内容型态。也就是说,我们不能够调用SelectObject(显示器设备内容句柄, 位图处理)直接选入的显示设备内容的位图。

  • 相关阅读:
    使用Vue组件写table选项卡
    Vue父子之间的值传递
    前端常用插件网站
    如何使用requireJs模块化开发
    gulp压缩html,css,js文件流程、监听任务、使用gulp创建服务器、同时运行多个任务、反向代理
    jQuery实现吃鱼游戏
    jQuery实现打飞机游戏
    jQuery实现瀑布流布局
    jQuery实现拖拽元素
    jQuery对象与原生js对象之间的转换
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4600753.html
Copyright © 2020-2023  润新知