Hier ist ein Beispiel, wie ein Bitmap transparent über ein anderes Bitmap animiert werden kann.
var
Back, Picture: TBitMap;
BackRct : TRect;
x, y : integer;
W, H : integer;
//
procedure TForm1.FormCreate(Sender: TObject);
begin
Image1.AutoSize := False;
Back := TBitmap.Create;
Picture := TBitmap.Create;
try
Back.LoadFromFile('Bild1.bmp'); // HIER DAS HINTEGRUNDBILD
Image1.Width := Back.Width;
Image1.Height := Back.Height;
Image1.Canvas.Draw(0,0,Back);
Picture.LoadFromFile('Bild2.bmp'); // HIER DAS BILD WAS ANIMIERT WERDEN SOLL
W := Picture.Width;
H := Picture.Height;
Picture.Transparent := True;
Picture.TransParentColor := Picture.Canvas.Pixels[1,1];
x := -W;
y := 20;
BackRct := Bounds(x,y,W,H);
except
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Image1.Canvas.CopyRect(BackRct,Back.Canvas,BackRct);
x:=x+2;
if x > Image1.Width then x:=-W;
BackRct:=Bounds(x,y,W,H);
Image1.Canvas.Draw(x,y,Picture);
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Back.Free;
Picture.Free;
end;
Keine Kommentare:
Kommentar veröffentlichen