this slowpoke moves

Draw Animate Line

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  // 3. Puffer verändern
  with buffer.Canvas do
  begin
    // an alter Stelle löschen, dh. mit Hintergrundfarbe zeichnen
    Pen.Color := clBtnFace; MoveTo(x,y1); LineTo(x,y2);
    // neues x bestimmen
    if (x > width-20) or (x < 10) then dx := -dx; x := x + dx;
    // an neuer Stelle mit Vordergrundfarbe zeichnen
    Pen.Color := clRed; MoveTo(x,y1); LineTo(x,y2);
  end;
  // 4. Puffer anzeigen
  Canvas.Draw(0,0,buffer);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  x := 10; y1 := 20; y2 := 120; dx := +1;
  // 2. BitMap-Objekt erzeugen, Größe setzen
  buffer := TBitMap.Create; buffer.Width := Width; buffer.Height := Height;
  // 3. in den Puffer zeichnen
  with buffer.Canvas do
  begin
    Pen.width := 20;
    Brush.Color := clBtnFace; FillRect(Rect(0,0,width-1,height-1));
    MoveTo(x,y1); LineTo(x,y2);
  end;
  // 4. Puffer anzeigen
  Canvas.Draw(0,0,buffer);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  // 5. Objekt freigeben
  buffer.Free;
end;

Keine Kommentare:

Kommentar veröffentlichen

Beliebte Posts

Translate