Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Image von TImageList bekommen (https://www.delphipraxis.net/78235-image-von-timagelist-bekommen.html)

xZise 1. Okt 2006 13:38


Image von TImageList bekommen
 
Ich würde gerne mit den Bildern aus einer ImageList zeichnen.
Es gibt zwar die Möglichkeit
Delphi-Quellcode:
TImageList.GetBitmap
Aber die ist bei (bis zu 3 * 256 Bildern) ziemlich zwecklos: Erstmal alle Bilder in Bitmaps laden und dann damit Arbeiten...
Ich dachte eher daran:
Delphi-Quellcode:
if TImageList.Count > Index then
  TImage.Canvas.Draw(X, Y, TImageList.Bitmap(Index));
Wobei Index die Position des Bildes in TImageList ist.

Im Grunde genommen ist (höchstwahrscheinlich), die "GetBitmap"-Methode ähnlich/gleich.

Welche Prozedur Empfehlt ihr?

mkinzler 1. Okt 2006 13:45

Re: Image von TImageList bekommen
 
Zitat:

ber die ist bei (bis zu 3 * 256 Bildern) ziemlich zwecklos: Erstmal alle Bilder in Bitmaps laden und dann damit Arbeiten...
Es reicht dir doch eine Referenzvariable für alle Bitmaps.

Hawkeye219 1. Okt 2006 13:47

Re: Image von TImageList bekommen
 
Zitat:

Zitat von mkinzler
Es reicht dir doch eine Referenzvariable für alle Bitmaps.

Oder ein Blick in die Delphi-Hilfe: Delphi-Referenz durchsuchenTImageList.Draw

Gruß Hawkeye

xZise 1. Okt 2006 13:57

Re: Image von TImageList bekommen
 
Habe ich es also richtig erstanden, dass ich sie dynamisch laden soll? z.B. so:
Delphi-Quellcode:
var
  i : Byte;
  bm : TBitMap;
begin
  bm := TBitMap.Create;
  for i := 0 to 25 do
    if ImageListBla.GetBitMap(i, bm) then
      ImageBla.Canvas.Draw(Random(30), Random(30), bm)
end;
?
Da ist leider so, nicht ganz möglich, weil ich eine "Karte" zeichne, und dann auf mehere (256) gleichzeitig Zugriff haben muss (oder, ich mache es langsamer, indem ich jeweils immer nur ein Bitmap zeichne... Aber ich denke, es sollte auch anders funktionieren)

Neutral General 1. Okt 2006 13:59

Re: Image von TImageList bekommen
 
Delphi-Quellcode:
for i := 0 to 25 do
 ImageList1.Draw(Image1.Canvas,0,0,random(ImageList1.Count));
so eher (hoffe die Parameter stimmen)

Gruß
Neutral General

xZise 1. Okt 2006 14:01

Re: Image von TImageList bekommen
 
Weiß ich jetzt nicht, aber der Beitrag bezog sich auf mkinzler.
Das mit Draw sieht gut aus (in der Hilfe nix gefunden, aber Codevervollstädigung ;) )!


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:26 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz