通俗的DC解释

本文通过类比绘画过程,介绍了Windows GDI中的DC(设备上下文)概念及其作用。DC作为绘画环境包含了画笔、调色板等六种GDI对象,通过SelectObject函数选择对象,并使用DeleteObject函数释放资源。
摘要由CSDN通过智能技术生成
在GDI中,DC(Device context)是一个非常重要的概念。

有的书中,将DC翻译为设备描述表(《Windows 程序设计 第五版》作者Charles Petzold),

也有的书将DC翻译为设备上下文。

到底什么是DC?

用现实中的例子来理解可能更容易些。

如果你喜欢画画,你得先准备了画布,画笔,颜料……

画画的环境搭建好了,你就可以画画了。

这个画画的环境,就是DC。

在图形环境下,一切都是画出来的,所以,你要准备好一个DC,才能在屏幕上画画。——写字也是画画。

在画画的环境中,有哪些对象呢?

画布——GDI对象之一:区域

画笔——GDI对象之一:画笔

颜料盒——GDI对象之一:调色板

如果要在画笔上写字的话,写什么样的字体呢?方正字体?徐静蕾字体?——字体也是GDI对象之一。

有的画笔比较粗,专用来刷大面积背景色的,这是刷子——GDI对象之一:刷子

如果你不想画了,只想把别人画好的画,贴到你的画布上,这也是可以的。——GDI对象之一:位图。

所以,这里就有6种GDI对象可以用于DC。

现在开始画画了,你拿起了一只笔。——在Windows环境里,这叫选择了一个画笔对象:使用SelectOBject函数。当然,如果你没带笔也没关系,Windows为你准备了几只画笔,你可以这样申请系统提供的缺省画笔:hPen = GetStockObject(WHITE_PEN);

如果你画着画着,觉得手中的笔用着不爽,可以换一只啊,没关系的。——依旧是SelectObject()换笔。

当然,如果你走出了画室,别完了把你的画笔清除掉,要不画室里全是笔啊,刷子啊,太乱了。——DeleteObject() 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值