GDI是什么!

本文探讨了GDI(Graphics Device Interface)图形设备接口的历史背景及其在现代操作系统中的作用。从早期DOS系统的图形界面开发难点入手,介绍了GDI如何简化绘图操作并提升用户体验。通过分析GDI的工作原理,包括内存DC的使用、双缓冲技术的应用以及Windows系统如何响应消息进行图像重绘等,为读者提供了深入理解GDI机制的基础。

       GDI(Graphics Device Interface)图形设备接口,他主要负责系统与绘图之间的系统交换,GDI确实方便了不少应用程序员,而作为70年代的程序员来说在DOS上开发图形界面是一种奢求,他们得在那小的可怜的系统内存中,分配一部分内存来用于存储数据,本身内存有一部分视频缓冲区,但是又是高端内存,因此就有了64KB限制.开发图形界面这是对那些程序员来说是很繁琐的,还得设置指定的寄存器,和那些中断号.

       而对于如今的GDI而言他取代了这些繁琐的操作.而对于GDI绘图仍要占据部分内存,这就是我们常说的DC内存,我们在建立与设备有关性位图时,我设置内存DC来创建与设备有关,在绘制图像时存入内存后,再在屏幕中显示,这个过程是很麻烦的,有时我们为了防止闪烁现象,使用了双缓冲技术.而对于C++来说,他是将绘制的图像再次绘制在另一个创建的图像之上,然后在一起显示,看上去想是两个图像累加上去,简单的说就是重绘了两次,再简单的说,就是我们分配两次内存DC.

       那么系统如何重绘图像了,显然他的原理是一样的,Windows系统响应消息驱动,他在不断发出消息,接受消息.他也同样在接受窗体等GDI控件位置,不断重绘,擦出.总是能保持界面的更新效果.

      而作为开发者,我们在创建GDI时,能够把握一些特有的东西,绘制各种图像和图形,颜色.包括控件的包装.

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值