Delphi与DirectX之DelphiX(1):安装测试

测试 Demo 下载: files.cnblogs.com/del/DelphiX_1.rar (在 Delphi 2007 和 2009 下均编译通过)

其实按照这里(www.cnblogs.com/del/archive/2008/06/13/1219324.html)的介绍, 比下载来的快, 也不需要下载.

DirectX, 微软很久的技术了; 从 Windows Vista 开始, DirectX 已经是微软操作系统的界面基础了.

在 Delphi 下使用 DirectX 比较流行的有下面四种方式:

DelphiX--yks.ne.jp/~hori/DelphiX.html

DSPack--www.progdigy.com

Asphyre (?)--www.afterwarp.net

Delphi DirectX--www.clootie.ru/delphi/download_dx92.html

DelphiX 是最早的(十年了), 也是最简单的, 也是和 Delphi 结合最密切的;

但为了入手简单, 准备从 DelphiX 开始, 先有个宏观概念, 同时也学习一下 DelphiX 构造手法;

不过, 我想最终使用的应该是: Delphi DirectX.

DelphiX 从 2000.07.17 就没在更新过, 不过另有热心的支持者一直维护着, 甚至让它支持了 Delphi 2009.

我现在使用的版本是从这里下载的: www.micrel.cz/Dx/

使用了它的自动安装文件: www.micrel.cz/Dx/download/install.exe

尽管介绍是支持 Delphi 2009, 我还是发现了很多问题; 经过修正最后在 2009 下能用了.

但很多例子并不支持 2009, 因为在 2007 下要稳定得多, 所以选择在 Delphi 2007 下学习 DelphiX; 同时争取让代码兼容 2009.

为了保证运行所有的例子, 还需要把 DelphiXcfg.inc 的倒数第二行的 {.$Define D3DRM} 改为 {$Define D3DRM}

另外, 因为有些日文的注释乱码, 也会让有些例子运行不了, 修改下乱码的地方即可.

目前我抽样测试了一些, 都没问题了.

总感觉学晚了, 争取尽快超越它!

先从网上学了个例子, 作为开盘测试吧:

本例效果图:

时间: 2024-12-01 14:37:18

Delphi与DirectX之DelphiX(1):安装测试的相关文章

Delphi与DirectX之DelphiX(6)

Delphi与DirectX之DelphiX(6): 让TDXImageList和常规VCL交互使用 本例测试了两个问题: 1.其他 VCL 加载的图片能否给 TDXImageList 使用; 2.TDXImageList 中的图片能否给其他 VCL 使用. 例子中先用 TPicture 加载了图片, 然后给 TDXImageList; 然后把图片绘制在了窗体上, 而非 TDXDraw 中. 继续了解点 TDXImageList: TDXImageList 控件只有两个属性: DXDraw 和

Delphi与DirectX之DelphiX(87): TDIB.DrawTransparent、DrawTranslucent、Dra

Delphi与DirectX之DelphiX(87): TDIB.DrawTransparent.DrawTranslucent.DrawAlpha(); TDIB.DrawTransparent: 按指定的透明色透明; TDIB.DrawTranslucent: 先按指定的透明色透明, 然后再半透明; DIB.DrawAlpha: 先按指定的透明色透明, 再按指定的透明度透明. 本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages,

Delphi与DirectX之DelphiX(17):TPictureCollectionItem.PatternWidth、Patte

Delphi与DirectX之DelphiX(17):TPictureCollectionItem.PatternWidth.PatternHeight 本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DXDraws, StdCtrls; type TForm1 = class(TForm) DXD

Delphi与DirectX之DelphiX(7)

Delphi与DirectX 之DelphiX(7): 给TDXImageList加载图片的最后方案 本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DXDraws, StdCtrls; type TForm1 = class(TForm) DXDraw1: TDXDraw; DXImageList

Delphi与DirectX之DelphiX(3):初识TDXDraw

在 DelphiX 中, 所能看到的一般都是画在 TDXDraw. TDXDraw 默认两个绘图表面: TDXDraw.Surface 和 TDXDraw.Primary; 一般先在后台(Surface)绘图, 然后再用 TDXDraw.Flip 命令切换前后台, 从而看到绘制效果. TDXDraw.Flip 会置换 Surface 和 Primary 两个对象, 所以我们尽可以只在 Surface 上绘图; 由于 DirectX 的工作机制, 让这个切换速度异常地快(只是切换一个指针), 从而

Delphi与DirectX之DelphiX(25):TDIB.Blur();

DelphiX的组件面板上, 第二个就是TDXDIB; TDXDIB.DIB是TDXDIB的唯一属性(其他是TComponent 固有的); TDXDIB.DIB属性是一个TDIB对象; TDIB和TBitmap一样都直接继承自TGraphic, 是一个图片容器, 它还有个别名: TDIBitmap; TDIB和TDXDraw.Surface还有 TDXImageList中的元素(TPictureCollectionItem)功能都差不多, 不过它更强大. 使用TDIB需要uses DIB单元;

Delphi与DirectX之DelphiX(24):TDirectDrawSurface.Blt()、BltFast();

这两个函数可不是一般的麻烦, 特别是Blt(); 暂时搞不彻底, 这是初步尝试的例子: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DXDraws, StdCtrls, DirectX; type TForm1 = class(TForm) DXDraw1: TDXDraw; Button1: TButton

Delphi与 DirectX之DelphiX(19):绘图表面(TDirectDrawSurface)如何加载图片

上个例子中TDirectDrawSurface是从TDXImageList中获取的图片, 其实TDirectDrawSurface自己获取图片的方法有很多: TDirectDrawSurface.LoadFromFile(); TDirectDrawSurface.LoadFromStream(); TDirectDrawSurface.LoadFromGraphic(); TDirectDrawSurface.LoadFromGraphicRect(); TDirectDrawSurface.

Delphi与DirectX之DelphiX(8) 第一个简单动画

本例效果图(用 gif 动画演示, 无论如何也出不来 DirectX 的流畅效果): 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DXDraws, StdCtrls, DXClass; type TForm1 = class(TForm) DXDraw1: TDXDraw; DXImageList1: TDX