WindowsGDI的接口没提供这样的功能机制,只能是先通过CreateCompatibleDC 创建一个与显示器设备内容兼容的内存设备内容,用SelectObject将位图选入内存设备内容,再用BitBlt函数进行从内存到显存的位块传输。 DC是设备内容,是我们问题的核心,请看《Windows程序设计》关于设备内容的讲解:
设备内容:
设备内容中包含许多确定GDI函数如何在设备上工作的目前「属性」,这些属性允许传递给GDI函数的参数只包含起始坐标或者尺寸信息,而不必包含Windows在设备上显示对象时需要的所有其它信息。例如,呼叫TextOut时,您只需要在函数中给出设备内容句柄、起始坐标、文字和文字的长度。您不必指定字体、文字颜色、文字后面的背景色彩以及字符间距,因为这些属性都是设备内容的一部分。当您想改变这些属性之一时,您呼叫一个可以改变设备内容中属性的函数,以后针对该设备内容的TextOut呼叫来使用改变后的属性。
内存设备内容:设备内容指的是特殊的图形输出设备(例如显示器或者打印机)及其设备驱动程序。而内存设备内容只位于内存中,它不是真正的图形输出设备,但可以说与指定的真正设备「兼容」。也就是说内存设备内容具有和显示器设备内容相同的结构,也存放与屏幕显示相关的信息。另外书中还说:内存设备内容是您可以选进位图的唯一一种设备内容型态。也就是说,我们不能够调用SelectObject(显示器设备内容句柄, 位图句柄)直接将位图选入显示器设备内容。

CreateCompatibleDC工作原理相关推荐

  1. 2021年大数据ELK(十八):Beats 简单介绍和FileBeat工作原理

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 Beats 简单介绍和FileBeat工作原理 一.Beats 二.FileB ...

  2. 深入理解Nginx工作原理

    1 反向代理 1.1 概念 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给intern ...

  3. 高频开关电源原理_程控开关电源的工作原理

    本文介绍了开关电源的工作原理以及它的特点. 程控开关电源要要比线性电源复杂得多. 下图是典型的开关电源工作原理图. 首先对 220 V/50Hz 的 AC 输入,通过桥式整流器进行整流 储能电容对整流 ...

  4. Servlet生命周期与工作原理

    Servlet生命周期分为三个阶段: 1,初始化阶段  调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destroy()方法 Servlet初始化阶段: 在 ...

  5. java的工作原理你知道吗_每天用Mybatis,但是Mybatis的工作原理你真的知道吗?

    近来想写一个mybatis的分页插件,但是在写插件之前肯定要了解一下mybatis具体的工作原理吧,于是边参考别人的博客,边看源码就开干了. 核心部件:SqlSession Executor Stat ...

  6. linux网络管理原理,Linux__网络管理(物理层 数据链路层 网络层工作原理)

    千锋云计算逆战班11点后打卡 今天学习后,进行复习下,物理层 数据链路层  网络层 的工作原理 物理层关心的两件事情:1.信号 2.介质 先说信号:信号分为模拟信号和数字信号 模拟信号: 模拟信号,不 ...

  7. HDD工作原理 导图

    以上导图介绍了我们使用的 (HDD)机械硬盘的基本构造以及核心工作原理,对于大家扫盲有所帮助 参考文档: https://blog.csdn.net/yizhaoxin/article/details ...

  8. 路由和交换机工作原理

    路由器与交换机的工作原理 计算机网络往往由许多种不同类型的网络互连连接而成.如果几个计算机网络只是在物理上连接在一起,它们之间并不能进行通信,那么这种"互连"并没有什么实际意义.因 ...

  9. Google工作原理

    今天在晚上看到一个图,讲解google的工作原理,感觉写的不错.贴过来方便以后深入的研究. 转载于:https://www.cnblogs.com/muyuge/archive/2010/07/06/ ...

最新文章

  1. gcc 从5.3升级到6.1之后 openwrt pkg-config glib编译报错修复办法
  2. Python Pyc文件
  3. Design Pattern – Separated Interface Pattern[转]
  4. java静态内部类了解一下
  5. 集群中的session共享存储 实现会话保持
  6. python time timeit_python运行时间计算之timeit
  7. 3_03 蛇形填数(数组)
  8. (转)函数式编程实战教程(Python版)
  9. 关于 pip安装的可能错误的排除
  10. SMA连接器与BNC连接器用途有什么不同
  11. 移远 BC95-B5
  12. oracle临时表空间可以删除吗,Oracle临时表空间的增删改查
  13. win10游戏不能窗口化怎么办?全屏游戏切换窗口的方法
  14. 移动硬盘格式化后如何数据恢复?
  15. android手机home键,手机Home键在哪里?手机Home键是什么意思?
  16. 内存储器(主存储器)的分类及存储芯片的扩展方式
  17. echarts 折线图
  18. 幻灯片更换模板_如何创建Google幻灯片模板
  19. 电话号码归属地批量查询方法的优缺点对比
  20. Thinkpad T480 新机分区

热门文章

  1. 数据结构(Python版):Python内置数据类型
  2. 通过Fiddler实现部分静态资源代理
  3. 算法基础17 —— 单调栈(Acwing 830 单调栈)
  4. 实现微信小程序精准定位
  5. 怎样用postman做接口测试,一篇足矣
  6. C#: //todo
  7. JS学习108-161
  8. 数据结构和算法——kd树
  9. 源码解析:Spring源码解析笔记(五)接口设计总览
  10. QT QtableView操作详解