this slowpoke moves

Animate Bitmap on Bitmap

 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

Beliebte Posts

Translate