![]() |
TimageList.getImage zu langsam
Hallo zusammen!
Ich möchte eine Paintbox mit Icons (50px*50px) füllen. Das ganze bildet eine Art "Raster" mit 40*20 Feldern. Wenn ich jetzt aber die Procedure aufrufe, so dauert es fast eine ganze Sekunde, bis die Paintbox fertig geupdated ist. Kommentiere ich jetzt die Zeile mit
Delphi-Quellcode:
aus, dann wird die Paintbox in null-komma-nix gezeichnet...
icons.GetBitmap(2,bmp);
Merkbar ist's vor allem an den Testweise eingefügten Messages. Mit der Zeile: ca. 1s - Ohne Zeile: kaum merkbare Zeit zwischen den Messages. Daher vermute ich, dass es wohl an der Imagelist liegt. Kann mir jemand ein Tipp geben, wie ich das Problem lösen kann? Die Zeit ist nicht tragbar, da durch Userinteraktion sich das Rsater ändert und ne gezeichnet werden muss... :( Danke schonmal! Adrian
Delphi-Quellcode:
(Prozedur ist auf das nötigste gekürzt worden. So habe ich es auch getestet...)
procedure TmainFormular.Draw;
var X, Y: integer; bmp: Tbitmap; zwp: TPicture; begin showmessage('Start'); zwp := TPicture.Create; zwp.Bitmap.Width := 50*40; zwp.Bitmap.Height := 50*20; for X:=0 to 40 do begin for Y:=0 to 20 do begin bmp := Tbitmap.Create; icons.GetBitmap(2,bmp); //^^ Hier ist meine Problemzeile zwp.Bitmap.Canvas.Draw(x*50,y*50,bmp); bmp.Free; end; end; Paintbox1.Canvas.Draw(0,0,zwp.Graphic); zwp.Free; showmessage('Ende'); end; |
AW: TimageList.getImage zu langsam
Hallo,
warum verwendest Du nicht ![]() Außerdem sind Deine Schleifen immer einen Durchlauf zu lang (0 bis 40 sind 41 Elemente). Gruß xaromz |
AW: TimageList.getImage zu langsam
Zitat:
Das ich es erst am schluss dann auf die Paintbox mal ist klar: sonst wirds jedes Mal neu gezeichnet... :stupid: Warum ich nicht ![]() Und das meine Schleifen zu lang laufen ist mir noch garnet aufgefallen :roll: Ich probiers mal aus. Danke! ---EDIT--- Ich hab's grad mal im richtigen Programm probiert. Ist subjektiv gleich schnell mit ![]() ![]() Mein Flaschenhals ist jetzt die Drehroutine... :? Thread hat sich erledigt! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:12 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 by Thomas Breitkreuz