您现在的位置:首页 >> 图形媒体 >> 图形媒体 >> 内容

使用D3D8实现2D图形显示技术二(3)

时间:2011/9/3 15:03:00 点击:

在Delphi中,可以使用 DsPack或者JEDI的DirectX的头文件

实现类似的功能如下:

 

function RGBToTColor(const R, G, B: Byte): Integer;
begin
  Result := R + G shl 8 + B shl 16;
end;


procedure TColorToRGB(const Color: TColor; var R, G, B: Byte);
begin
  R := Color and $FF;
  G := (Color shr 8) and $FF;
  B := (Color shr 16) and $FF;
end;

function TColorToD3DColor(const Color: TColor): TD3DColor;
var
  R,G,B: Byte;
begin
  TColorToRGB(Color,R,G,B);
  Result := D3DCOLOR_XRGB(R,G,B);
end;

 

var

  SenderDevice: IDirect3DDevice8;

  tt: IDirect3DTexture8;
  D3DSprite: D3Dx8.ID3DXSprite;
  txtPos: TD3DXVector2;

begin

     D3DX8.D3DXCreateSprite(SenderDevice,D3DSprite);
     D3DX8.D3DXCreateTextureFromFileEx(SenderDevice,'C:\234.bmp',D3DX8.D3DX_DEFAULT,D3DX8.D3DX_DEFAULT,1, 0,Direct3D8.D3DFMT_UNKNOWN,Direct3D8.D3DPOOL_MANAGED,D3DX8.D3DX_DEFAULT,D3DX8.D3DX_DEFAULT,$FF000000,nil,nil,tt);
     D3DSprite._Begin;
     txtPos.x := 0;
     txtPos.y := 0;
     D3DSprite.Draw(tt,nil,nil,nil,0,@txtPos,TColorToD3DColor(clRed));
     D3DSprite._End;

end;

上一页123下一页

作者:网络 来源:转载
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
本类推荐
  • 没有
本类固顶
  • 没有
  • 盒子文章 技术支持:深圳市麟瑞科技有限公司(www.2ccc.com) © 2026 版权所有 All Rights Reserved.
  • 粤ICP备10103342号-1