程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi與DirectX之DelphiX(13)

Delphi與DirectX之DelphiX(13)

編輯:Delphi

本例效果圖(實際效果是相當流暢的, gif 只能說明個動作趨勢):

代碼文件:

unit Unit1;
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, DXDraws, StdCtrls, DXClass, ComCtrls;
type
 TForm1 = class(TForm)
  DXDraw1: TDXDraw;
  DXImageList1: TDXImageList;
  DXTimer1: TDXTimer;
  procedure FormCreate(Sender: TObject);
  procedure DXTimer1Timer(Sender: TObject; LagCount: Integer);
 end;
var
 Form1: TForm1;
implementation
{$R *.dfm}
var
 PicItem: TPictureCollectionItem;
 Angle: Cardinal;
procedure TForm1.FormCreate(Sender: TObject);
const
 ImgPath1 = 'C:\Temp\DelphiX.bmp';
begin
 DXDraw1.Align := alClient;
 DXTimer1.Interval := 0;
 DXImageList1.DXDraw := DXDraw1;
 PicItem := TPictureCollectionItem(DXImageList1.Items.Add);
 PicItem.Picture.LoadFromFile(ImgPath1);
end;
procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer);
begin
 DXDraw1.Surface.Fill(0);
 PicItem.DrawRotate(DXDraw1.Surface,
           DXDraw1.Width div 2, DXDraw1.Height div 2, {位置}
           PicItem.Width, PicItem.Height,       {大小}
           0,                     {調色板}
           0.5, 0.5,                 {旋轉中心: 0..1}
           Byte(Angle));               {旋轉角度 0..255}
 Inc(Angle);
 DXDraw1.Flip;
end;
end.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved