Einzelnen Beitrag anzeigen

Glados
(Gast)

n/a Beiträge
 
#18

AW: Kopieren-Animation in Painbox zeichnen

  Alt 5. Nov 2017, 18:34
Klappt doch eh nicht und skalieren muss das Ding auch können.

Um es bei deinen Worten zu belassen: hab ich keinen Bock drauf, obwohl ich es brauche.
Für die Skalierung würde sich was mit Prozentrechnung anbieten. Da ich kein Mathematiker bin und ein Matheschwächling, fällt das wieder raus.

Delphi-Quellcode:
var
 val: Integer;
begin
 val := RandomRange(25, 45);
 val := (val * 100) div StrToIntDef(Edit1.Text, PaintBox1.Height);

 iNewPos.X := iNewPos.X;
 iNewPos.Y := bmp.Height - val;

 bmp.Canvas.Pen.Color := clBlack;
 bmp.Canvas.Brush.Color := clBlack;
 bmp.Canvas.MoveTo(iNewPos.X, iNewPos.Y);
 bmp.Canvas.LineTo(iNewPos.X, bmp.Height);

 if iNewPos.X > 0 then
  begin
   bmp.Canvas.Pen.Color := clRed;
   bmp.Canvas.MoveTo(iOldPos.X, iOldPos.Y);
   bmp.Canvas.LineTo(iNewPos.X, iNewPos.Y);
  end;

 iOldPos.X := iNewPos.X;
 iOldPos.Y := bmp.Height - val;

 PaintBox1.Repaint;

 Inc(iNewPos.X, 5);
 if iNewPos.X >= PaintBox1.Width then
  begin
   Dec(iPosXBmp, 5);
   bmp.Width := bmp.Width + 5;
  end;
end;
Probleme hier: rote Linie schießt oben raus, wenn Edit1.Text < 40
Hintergrund ist schwarz komischerweise.
Miniaturansicht angehängter Grafiken
unbenannt.png  

Geändert von Glados ( 5. Nov 2017 um 18:42 Uhr)
  Mit Zitat antworten Zitat