科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件基于Visual Basic 6.0的DirectDraw编程

基于Visual Basic 6.0的DirectDraw编程

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

随这计算机技术、多媒体技术的飞速发展,图形图像已经广泛应用到现实生活中的各个领域

作者:刘 涛 来源:yesky 2007年10月15日

关键字: Visual Basic DirectDraw 编程

  • 评论
  • 分享微博
  • 分享邮件
随这计算机技术、多媒体技术的飞速发展,图形图像已经广泛应用到现实生活中的各个领域,如游戏开发、视频监控、媒体传播等等。如何高速有效地处理这些信息量巨大的图像数据,是我们不得不面对的现实问题,解决问题的一个有效途径就是绕过Windows操作系统提供的API,直接操作计算机的显卡,以此来充分利用硬件的加速效果。开发人员不必为此担心程序的兼容性问题,因为自从微软推出高效的DirectX技术后,事实上它已经成为了多媒体开发的标准之一,不同的硬件厂家都是根据DirectX的标准来编写驱动程序,所以开发人员只要同单一的DirectX库打交道而不用考虑具体的硬件,这样就大大的提高了编程的效率。由于DirectX编程技术博大精深,它的内容足够写几本大部头的书,所以本文只能涉及到它的一小部分,既主要探讨VB开发环境下基于DirectDraw技术的程序开发,处理二维平面图像。

  最初的DirectX多媒体开发仅仅适用于C/C++的编译环境,但是微软自从DirectX7.0版本(目前DirectX的最高版本9.0测试版已经公布)推出以后,就开始提供VB开发库,支持在VB环境下开发基于DirectX的多媒体应用程序。如果要进行DirectX开发,系统必须安装DirectX SDK库并且要在VB项目中引入它。

  为了进行DirectDraw的编程,需要读者特别注意的一点是,在点击VB菜单中的 Project | References 项引入DirectX 为VB提供的SDK库时,在Object Library 列表中要选择DirectX7.0 For Visual Basic Type Library 这个列表项。为什么不选择DirectX8.0或更高版本提供的类库呢?因为只有DirectX7.0提供了DirectDraw对象,在后续的DirectX版本中,DirectDraw 已被融入Direct3D对象中了,而Direct3D对象主要用于三维立体图像的处理,它的使用比较复杂,不适用初学者,所以本文主要讲述如何使用DirectX7.0类库中的DirectDraw对象,今后在此基础上,我们再对Direct3D等复杂的编程技术详细介绍,由浅如深,逐渐进入DirectX编程的奇妙世界。

  二、DirectX7.0技术简介

  为了更好的介绍DirectDraw编程,我们首先简单介绍一下DirectX7.0技术,使读者对它有一个初步的印象,至于DirectX的后续版本,只是在7.0版本的基础上添加了一些新的功能和作了一些结构调整罢了,相关内容读者可以自己参阅MSDN。DirectX7.0提供的开发库是基于对象的,其中最基本的对象是DirectX7对象,只有在程序中首先建立了DirectX7对象之后才可以在该对象的基础上建立其它对象。DirectX基本对象包含以下几个常用的类:

  1)DirectDraw类,独立于设备的表面绘图对象,支持以全屏方式或者窗口方式绘图,同时DirectDraw实现了对显卡内存的直接操作(也可以实现对系统的内存的操作,如果在显卡内存不够或者开发人员指定使用系统内存的情况下,DirectDraw将操作系统内存),一旦定义DirectDraw对象并锁定,就可以象操作一个数组一样操作内存中的图像数据了。

  2)独立于设备的Direct3D类,包括立即模式和保留模式,它是DirectX的三维绘图接口、开发三维DirectX游戏的基础。

  3)DirectSound类, DirectX中独立于设备的Wave音频对象,支持混音、硬件加速、直接设备访问、声音捕捉和回放。

  4)DirectMusic类,音乐数据文件操作对象,支持DLS(downloadable sounds)标准和运行时编辑。

  5)DirectInput类,独立于设备的游戏控制器对象,支持操作映射,过操作映射能够在输入操作和输入设备之间建立连接。您只需输入设备处理,而不必再依赖特定的设备对象。用于支持鼠标、键盘、游戏杆。

  6)DirectPlay类,为支持多任务的网络游戏而设计的对象,可以协调速度不同的计算机之间的信息传递以支持不同的计算机用户通过网络进行互连。

  DirectX7对象包含了诸如建立DirectDraw、 Direct3D、 DirectSound、 DirectInput等对象的方法,例如,当建立成功一个DirectX7对象之后,就可以使用该对象的DirectDrawCreate、Direct3DRMCreate等方法建立DirectDraw、Direct3D对象了。
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章