关于DC与hDC是什么东西

关于dc到底是个啥玩意

 

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

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

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

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

 

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

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

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

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

 

于是有人给他统一了设备

 

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

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

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

 

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

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

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

 

 

 

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

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

 

那么hdc是什么呢?

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

 

 

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

DC是一个设备描述表

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

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

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

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

 


版权声明:本文为u010835196原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。