Delphi 与 DirectX 之 DelphiX(12): TPictureCollectionItem.DrawAlpha


本例效果图:

Delphi 与 DirectX 之 DelphiX(12): TPictureCollectionItem.DrawAlpha

代码文件:

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;

    TrackBar1: TTrackBar;

    procedure FormCreate(Sender: TObject);

    procedure TrackBar1Change(Sender: TObject);

  end;



var

  Form1: TForm1;



implementation



{$R *.dfm}



var

  PicItem: TPictureCollectionItem;



procedure TForm1.FormCreate(Sender: TObject);

const

  ImgPath1 = 'C:\Temp\DelphiX.bmp';

begin

  DXImageList1.DXDraw := DXDraw1;

  PicItem := TPictureCollectionItem(DXImageList1.Items.Add);

  PicItem.Picture.LoadFromFile(ImgPath1);



  TrackBar1.Max := 255;

  TrackBar1.Min := 0;

  TrackBar1.Height := 22;

  TrackBar1.ShowSelRange := False;

  TrackBar1.Align := alBottom;

end;



procedure TForm1.TrackBar1Change(Sender: TObject);

var

  r: TRect;

begin

  r := Bounds((DXDraw1.Width - PicItem.Width) div 2,

              (DXDraw1.Height - PicItem.Height) div 2,

               PicItem.Width,

               PicItem.Height);



  DXDraw1.Surface.Fill(0);

  PicItem.DrawAlpha(DXDraw1.Surface, r, 0, TrackBar1.Position);

  DXDraw1.Flip;

end;



end.


 
   

你可能感兴趣的:(Collection)