Habe ein bisschen rumprobiert. Ist nicht einfach
Delphi-Quellcode:
var
bmp: TBitmap;
iPosXBmp: Integer;
iOldPos, iNewPos: TPoint;
procedure TForm1.Timer1Timer(Sender: TObject);
var
val: Integer;
begin
val := RandomRange(25, 45);
iNewPos.X := iNewPos.X;
iNewPos.Y := bmp.Height - val;
bmp.Canvas.Pen.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;
Zitat:
Du kannst auch, statt das Bitmap zu verbreitern dessen Inhalt um ein Pixel nach links kopieren und dann das rechte Pixel füllen.
Genau das möchte ich, weiß aber nicht wie.
Die Zoomstufe ist mir total egal. Muss ich nicht können.
Bekommt man das irgendwie besser hin, sodass es dem hier ähnelt?
ich dachte durch diese 5-Pixel-Verschiebung bekomme ich ein schönes Dach über den Strichen hin. War wohl falsch gedacht.
https://i.ytimg.com/vi/msVDJSMs8Z0/maxresdefault.jpg