您的位置:首页 > 编程语言 > Delphi

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

2014-08-25 23:43 183 查看
unit Unit1;

interface

uses
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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: