使用DelphiX显示图片并把图片作为背景

原创 2007年09月26日 17:54:00

本代码是给予DelphiX的,各位朋友可以去www.2ccc.com上下载

步骤:

(1)在新建立的工程的主窗体上放置以下空间:DXImageList, DXDraw, DXSpriteEngine, DXTimer

(2)设置要显示的图片:DXImageList  ->  Items -> 新建一个 TPictureCollectionItem 命名为 BackGroundPicture -> 选择该项的 Picture 属性 -> 选择图片(BMP格式的);

以下是代码:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DXClass, DXDraws, DXInput, DXSprite, ExtCtrls;

type
  TForm1 = class(TDXForm)
    pnlPlan: TPanel;
    DXDraw1: TDXDraw;
    DXSpriteEngine1: TDXSpriteEngine;
    DXTimer1: TDXTimer;
    DXImageList1: TDXImageList;
    procedure DXDraw1Initialize(Sender: TObject);
    procedure DXDraw1Finalize(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure DXTimer1Timer(Sender: TObject; LagCount: Integer);
  private
    { Private declarations }
    procedure DrawBackGroundPicture;
  public
    { Public declarations }
    BackGroundSprite: TBackGroundSprite; {游戏的背景图}
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.DXDraw1Initialize(Sender: TObject);
begin
  DXTimer1.Enabled := True;
end;

procedure TForm1.DXDraw1Finalize(Sender: TObject);
begin
  DXTimer1.Enabled := False;
end;

procedure TForm1.DrawBackGroundPicture;
begin
  DXImageList1.Items.MakeColorTable;
  //更新系统调色板
  DXDraw1.ColorTable := DXImageList1.Items.ColorTable;
  DXDraw1.DefColorTable := DXImageList1.Items.ColorTable;
  DXDraw1.UpdatePalette;
  //设置要显示的并要作为背景的图片
  BackGroundSprite := TBackGroundSprite.Create(DXSpriteEngine1.Engine);
  with TBackGroundSprite(BackGroundSprite) do
  begin
    SetMapSize(1, 1);
    Image := DXImageList1.Items.Find('BackGroundPicture');
    //图片层次
    Z := -2;
    //平铺
    Tile := True;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  DrawBackGroundPicture;
end;

procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer);
begin
  if not DXDraw1.CanDraw then exit;
  //以下为绘制背景图片
  LagCount := 1000 div 60;
  DXSpriteEngine1.Move(LagCount);
  DXSpriteEngine1.Dead;
  DXDraw1.Surface.Fill(0);
  DXSpriteEngine1.Draw;
  DXDraw1.Flip;
end;

end. 

CSS网页制作技巧:背景图片定位 显示切图的一部分作为背景显示

一、 网页中添加图片的方式有两种 一种是:通过标签直接插入到html中 另一种是:通过css背景属性添加 二、 怎样来判断添加图片方式?? Ø 网页中的装饰性的图片,通过背景图片添加 Ø 用户图...
  • dalancon
  • dalancon
  • 2013年10月30日 11:02
  • 18094

使用9Patch图片作为背景

将图片作为View组件的背景时,当View中要呈现的文字内容太多时,Android会自动缩放整张图片,以保证背景图片能覆盖整个View。但这种缩放图片的效果可能并不好。可能存在的情况是我们只想缩放图片...
  • u011026329
  • u011026329
  • 2015年12月10日 19:41
  • 1586

使用glfw库将OpenCV读取到的图片作为OpenGL的背景纹理贴图

转载请注明出处:http://my.csdn.NET/ye_shen_wei_mian 前段时间接触过一点glfw,个人而言不太喜欢freeglut的回调机制,glfw不失为一个可以替代的选择。 ...
  • ye_shen_wei_mian
  • ye_shen_wei_mian
  • 2017年06月23日 17:29
  • 513

mfc 使用jpg图片做对话框背景

void CDlgLogOn::OnPaint() { CPaintDC dc(this); // device context for painting // TODO: 在此处添加消息处理程序...
  • XuePiaoFei1
  • XuePiaoFei1
  • 2016年01月14日 15:20
  • 1064

DelphiX 组件

DelphiX 组件是delphi游戏开发控件之一。
  • gzxyabcd
  • gzxyabcd
  • 2011年04月16日 01:26
  • 357

Tiled Background

     Tiled BackgroundFor New Employee Training       Document ID ...
  • c30gcrk
  • c30gcrk
  • 2007年08月19日 10:36
  • 447

Java-如何为frame窗口设置背景图片

通过为jframe设置背景图片,让我明白了以下的知识要点: (1)jframe窗口的组成部分,最底层是jrootpane面板。(这一点恐怕很多初学者都没有注意吧!) (2)jframe的组成如下:...
  • rart2008
  • rart2008
  • 2010年06月02日 16:59
  • 30304

给Matlab的图片加背景色

 转自:http://earvinlin.spaces.live.com/blog/cns!5fa635e2ba4f9bb6!514.entry这个问题曾经困扰了我很久,使我这个土人一度以为Matla...
  • jonathanlin2008
  • jonathanlin2008
  • 2008年09月04日 21:35
  • 5969

如何让img设置成为div中的背景图片

img作为背景图片,div模块
  • u011594571
  • u011594571
  • 2014年12月04日 21:06
  • 6361

NSIS 背景动态切换显示图片 (学习七)

 1、界面搭建 ;创建背景图片的切换动态     System::Call `*(i,i,i,i)i(1,34,518,200).R0`     System::Call `user32:...
  • yimengchenxi
  • yimengchenxi
  • 2015年08月14日 15:05
  • 1145
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用DelphiX显示图片并把图片作为背景
举报原因:
原因补充:

(最多只允许输入30个字)