关于dc到底是个啥玩意

他是一个和硬件驱动打交道的东西。

我们知道,不同的显卡设备,或者打印机设备,有不同的驱动。

而不同的驱动,显卡的厂商给我们写了不同的代码。

然后这些代码被封装成了函数。

可是,当你在一台电脑上写代码的时候,你需要根据这台电脑上的显卡驱动的函数写你想画出什么

当你在另一台电脑上写代码的时候,你需要在另一个显卡驱动的函数来写你想画什么

两个函数根本不一样,你每次换台电脑,电脑上有不同的显卡

你就要重新学一次如何写这个显卡驱动的函数,很蛋疼。

于是有人给他统一了设备

当你在你的窗口下创建一个DC的时候,这个DC就作为显示设备的上下文,也就是这个DC的结构里,保存了该设备的环境信息,比如显卡的信息。

然后你在DC结构里指定画笔,制定画笔的大小,颜色

然后GDI根据你的画笔颜色,根据你的画笔大小,在“显示设备”上按照相应的方式,显示出你的这幅画。

当你在打印机上创建一个DC的时候,这个在打印机上创建的DC就是你的打印机设备的上下文,也就是这个DC结构里,保存了打印机的信息,用来告诉系统,然后系统用打印机如何操作。

然后你再打印机的结构里制定你要什么画笔。

接着GDI根据你的打印机的DC信息,然后在“打印机设备”上按照相应的方式,打印出你这幅画

这就好比你要在纸上画画,可是你不会美术,这个时候,有一个全能的人来了,你告诉他你要在纸上画什么,然后告诉他你的笔是什么颜色,是什么大小,等等,然后这个全能的人给你在纸上画了一幅画。

然后你想在石头上画画,可是石头上画画你更不会,然后这个全能的人又来了,你告诉他在石头上画什么,然后笔的样式等等,接着你就得到了一幅在石头上的画。

那么hdc是什么呢?

hdc就是一个句柄,用它来标示dc这个全能的人,你可以用hdc来这个句柄来控制这个全能的人。

那么准确的概念是什么呢?

DC是一个设备描述表

该设备描述表里记录了与设备相关的信息

比如对于显示器来说,记录了显示器的尺寸、分辨率,还有当前选择的画笔、画刷、字体等GDI对象的信息。

然后我们利用HDC窗口上画一个东西

就好比我们命令全能的人在xx上画个东西

关于DC与hDC是什么东西相关推荐

  1. MFC中的DC,CDC和HDC

    设备描述表(DC)是Windows中的一种数据结构,它包含GDI需要的所有关于显示界面情况的描述字段,包括相连的物理设备和各种各样的状态信息. 图形显示功能是由显卡来完成的,你想要利用显卡的图形显示功 ...

  2. MFC在内存DC中绘图

    MFC在内存DC中绘图 文章目录 前言 一.什么是DC? 定义 DC对象介绍 二.绘图步骤 声明DC 选择DC对象 开始绘图 保存及显示 三.示例 四.总结 前言 因为用MFC框架做软件开发,前前后后 ...

  3. HDC,CDC,CClientDC,CPaintDC,CWindowDC的区别

    CDC是MFC的DC的一个类 HDC是DC的句柄,API中的一个类似指针的数据类型. MFC类的前缀都是C开头的 H开头的大多数是句柄 首先说一下什么是DC(设备描述表) 解:Windows应用程序通 ...

  4. Mat 显示到MFC中Pictrue Control的问题

    时代在进步,近期忙于工作,好久没能坐在办公室写点关于技术的东西了,想想感觉毕业后工作的几年丢掉了自己的老本行,没有在程序的海洋里徜徉,而是为了应付客户和领导开始不断背离初心.终于现在又有时间写点东西了 ...

  5. win32Day06:控件

    1.什么是控件? 控件是具备特殊功能的窗口,并且有模板. 控件的特性:一定是子窗口 和创建主窗口一样,都是使用CreateWindow函数来创建. (控件这种)子窗口和主窗口的区别: 风格不同 控件不 ...

  6. Windows高级工程师:GDI+绘图;基础入门大全

    Windows GDI绘图基础知识 一.Windows可以画直线.椭圆线(椭圆圆周上的曲线)和贝塞尔曲线. 7 个画线函式是: (1)画直线 LineTo    BOOL LineTo(HDC hdc ...

  7. Windows Shell编程-第七章.侵入Shell

    第七章 侵入Shell 与所有其它Win32进程一样,Shell也有其自己的内存地址空间,这是其它应用完全不可知的地址空间.为了进入这个地址空间,我们必须传递一定数量的控制点,就象我们正在跨过国家边界 ...

  8. Windows Shell 编程 第七章

    与所有其它 Win32 进程一样, Shell 也有其自己的内存地址空间,这是其它应用完全不可知的地址空间.为了进入这个地址空间,我们必须传递一定数量的控制点,就象我们正在跨过国家边界一样.在 Win ...

  9. win32Day05:GDI绘图

    目录 0x00画一个像素点: 0x01画线: 0x03画图形:圆形矩形等 0x04在客户区绘制文字: 0x05三级缓存防闪烁 GDI:Graphical Device Interface 图形设备接口 ...

最新文章

  1. javascript的Array对象
  2. python开源爬虫项目违法吗_Python开源爬虫项目代码:抓取淘宝、京东、QQ、知网数据...
  3. 简单实用一分钟上手级权限控制
  4. MOSS 2007基础:内容类型(Content Type)之二
  5. python 实现原型设计模式
  6. [设计模式]抽象工厂模式
  7. 解决linux yum无法安装mysql
  8. Pagerank-2
  9. 网络管理与维护作业2
  10. .NET——NPOI操作excel
  11. Linux系统常见的压缩与打包命令
  12. python中write的用法_python中write方法是如何使用?
  13. 西南科技大学OJ题 循环队列0965
  14. php布道师,百度智能小程序宣布“布道师”计划 昭原集团加入合作阵营
  15. MySQL installer直接解决安装(包括不想安在c盘也OK)、更新、卸载问题
  16. win10强效杀毒去捆绑
  17. libpng warning:iCCP:known incorrect sRGB profile
  18. 数据挖掘算法原理与实践:数据预处理
  19. Apache Pulsar Summit Asia 2020 正式启动,演讲议题征集中!
  20. 动态规划6:买卖股票 I II III IV 冷却,共5题

热门文章

  1. 马云四天三谈996被骂上热搜:抱歉,这届年轻人不好“骗”了!
  2. 关于如何求素数(拭除法第五种)
  3. Logback日志框架使用
  4. 【游戏程序设计】Direct 3D第一人称摄像机
  5. VScode配置Mingw64出现问题
  6. 16 `bs对象.节点名div.属性contents` children descendants 获取子节点 子孙节点
  7. 牛客网sql题详解1-10
  8. SAP工具箱之开发代码转移(乾坤大挪移)
  9. SSL简介(定义、功能、原理、优点、缺点)
  10. 3377. 约数的个数