![]() |
Re: TImage "scrollen"
Stimmt @teebee :)
@mr47: Mit der Hintergrundfarbe überzeichnen? |
Re: TImage "scrollen"
Den Code von Luckie kannst du eigentlich gleich so übernehmen, getestet habe ich ihn aber auch noch nicht.
Delphi-Quellcode:
type
TValueArray = array of Cardinal; var ValueArray: TValueArray; implementation {$R *.dfm} procedure PaintGraph(Bmp: TBitmap; Color: TColor; ValueArray: TValueArray); var rect: TRect; i: Integer; len: Integer; begin Bmp.Canvas.Brush.Color := clWhite; rect.Top := 0; rect.Left := 0; rect.Right := Bmp.Width; rect.Bottom := Bmp.Height; Bmp.Canvas.FillRect(rect); len := length(ValueArray); Bmp.Canvas.Pen.Color := Color; for i := 0 to Bmp.Width - 1 do begin Bmp.Canvas.MoveTo(i, Bmp.Height); Bmp.Canvas.LineTo(i, Bmp.Height-ValueArray[len-i-1]); end; end; procedure TForm1.FormCreate(Sender: TObject); begin OffScreenBmp := TBitmap.Create; OffScreenBmp.Width := ClientWidth; OffScreenBmp.Height := ClientHeight; SetLength(ValueArray, ClientWidth); Index := length(ValueArray) - 1; Randomize; Timer1.Interval := 50; DoubleBuffered := True; end; procedure TForm1.FormDestroy(Sender: TObject); begin FreeAndNil(OffScreenBmp); end; procedure TForm1.FormPaint(Sender: TObject); begin BitBlt(Canvas.Handle, 0, 0, ClientWidth, ClientHeight, OffScreenBmp.Canvas.Handle, 0, 0, SRCCOPY); end; procedure TForm1.Timer1Timer(Sender: TObject); var i: Integer; begin ValueArray[Index] := random(ClientHeight); //GetCPUUsage * 10; Dec(Index); if Index = 0 then begin for i := 0 to length(ValueArray) - 1 do ValueArray[i] := 0; PaintGraph(OffScreenBmp, clRed, ValueArray); Repaint; Index := length(ValueArray)-1; end; PaintGraph(OffScreenBmp, clRed, ValueArray); Repaint; end; Zitat:
![]() |
Re: TImage "scrollen"
TBitmap32 <> TBitmap oder sogar Canvas!
|
Re: TImage "scrollen"
Ich wollte ja nur darauf hinweisen, wie sehr die GR32-Lib die Arbeit erleichtert, deswegen auch der Link und die Namensgebung :wink: .
|
Re: TImage "scrollen"
Die Lib ist wirklich klasse, aber einen Clear-Ersatz gibt es beim normalen Canvas auch. Du musst einfach alles übermalen, das ist ja auch nicht all zu umständlich..
|
Re: TImage "scrollen"
Ok. Danke euch. :wink:
|
Re: TImage "scrollen"
Zitat:
Delphi-Quellcode:
Etwas übertrieben :zwinker: .
Bitmap.Canvas.Pen.Color := clWhite;
Bitmap.Canvas.Brush.Color := clWhite; Bitmap.Canvas.Rectangle(Rect(0, 0, Bitmap.Width, Bitmap.Height)); Bitmap32.Clear(clWhite32); Bitmap.Canvas.Pen.Color := clRed; Bitmap.Canvas.Brush.Style := bsClear; Bitmap.Canvas.Rectangle(MyRect); Bitmap32.FrameRectS(MyRect, clRed32); [edit]Hups, langsam wirds etwas OT. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz