使用GDI在windows中绘图(一)——windows GDI原理

在windows下绘图可以借助一些图形库用DrawLine和DrawCirccle这样的程序来画些基本图形元素,但是一旦出现新的标准就意味着要想办法支持最新的硬件,即使用升级版的图形库,将新代码加入自己的程序或给新视卡写驱动程序。对图形编程人员来说,其工作平台一直在变动,为了使程序与打印机和其他输出设备有适当的接口,还要做大量的工作。

通过给微机平台引入与硬件设备无冠的图形输出模式,windows改变了上述的被动局面,在windows中只要有相应的windows驱动程序,您所编写的代码就可以在任何图像适配器上运行,将输出发送到屏幕上的代码同样可用于打印机和其他硬拷贝设备上。也就是说,这种方法的优点就是不需要去为程序运行的具体硬件环境费心,而是去花时间编写应用程序代码上,也不需要第三方图形库。而windows中负责图形输出的是Graphics Device Interface(图形设备结构,简称GDI),能够实现一些简单的绘图操作。

windows程序在屏幕、打印机或其他输出设备上画图时,它并不是将像素直接输出到设备上,而是将图绘制到由设备描述表(DC)表示的逻辑意义上的“显示平面”上去。打个比方就是先在一块画布上画图,然后将画布贴到设备上。

画图流程是:1、画图之前windows程序从GDI获取设备描述表句柄;2、每次调用GDI输出函数时将句柄返回给GDI。若无有效的设备描述表句柄,则GDI不会画第一个像素点。

设备描述表类

MFC的CDC类将windows设备描述表和获取设备描述表句柄的GDI函数就近封装在一起,CDC的派生类则代表不同类

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值