Delphi 7 + GDIPlus 简单实现双缓冲绘制移动图形

来源:互联网 发布:西安电子科技大学网络教育 编辑:程序博客网 时间:2024/05/16 18:21
unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Gdiplus,  GdipTypes,  StdCtrls,  Dialogs, ExtCtrls, jpeg;type  TForm1 = class(TForm)    btn1: TButton;    btn2: TButton;    procedure FormCreate(Sender: TObject);    procedure btn1Click(Sender: TObject);  private    { Private declarations }  public    { Public declarations }    GGraphic: TGpGraphics; //保存图形    FBitMapBuff: TImage; //缓冲区    FlyBitmap,radarbitmap:TGpImage;  end;var  Form1:TForm1;  y:Integer;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);begin  DoubleBuffered := True;  FBitMapBuff:=TImage.Create(nil);end;procedure TForm1.btn1Click(Sender: TObject);begin   FBitMapBuff.Height:=650;   FBitMapBuff.Width:=650;   GGraphic:=TGpGraphics.Create(FBitMapBuff.Canvas.Handle);   radarbitmap:=TGpImage.Create('noname.jpg');   FlyBitmap:=TGpImage.Create('fly16.png');   GGraphic.DrawImage(radarbitmap,0,0,650,650);   GGraphic.DrawImage(FlyBitmap,y*10,y*10,16,16);   Canvas.Draw(0,0,FBitMapBuff.Picture.Bitmap);   inc(y);end;


0 0