![]() |
Bilder mehrmals aus TImageList in TImage laden
Hi,
es gibt hier zwar ähnliche Themen, doch dieses Problem habe ich nicht entdecken können. Ich lade Bitmaps aus eine ImageList in ein Image und zwar folgendermaßen:
Delphi-Quellcode:
Das funktioniert wunderbar auch mit der Transparenz. Doch wenn ich in das selbe Image ein anderes Bitmap laden möchte, dann muss ich das Image ja irgendwie wieder zurücksetzen, das habe ich so gemacht:
ImageList.GetBitmap(Index, ImgConnect.Picture.Bitmap);
Delphi-Quellcode:
Lass ich das weg, ändert sich das Bild nicht, doch mit diesem Code funktioniert die Transparenz nicht mehr, selbst wenn ich diese über den Code
ImgConnect.Picture.Assign(nil);
Delphi-Quellcode:
manuell setze. Weiß jemand von euch, was ich falsch mache?
ImgConnect.Picture.Bitmap.Transparent := true;
ImgConnect.Picture.Bitmap.TransparentColor := clWhite; |
Re: Bilder mehrmals aus TImageList in TImage laden
Ich verstehe nicht gans was du machen möchtest. (liegt nicht an dir, ist für mich zu spät heute ;) )
Was möchtest du machen ? Du kannst doch ein und das selbe Image aus der Liste holen und benuzten. |
Re: Bilder mehrmals aus TImageList in TImage laden
Zitat:
Ich habe ein Programm, mit dem ich mich in einem Internetportal anmelde. Bin ich angemeldet, soll das Image ein Bild mit dem Abmelden-Symbol haben, wenn ich ausgeloggt bin, dann zum Anmelden. Es haldelt sich also um 2 verschiedene Bitmaps, die sich in der ImageList befinden, aber um ein TImage, in dem das Bitmap dargestellt werden soll. |
Re: Bilder mehrmals aus TImageList in TImage laden
Solle eigentlich ein ImageXY.Assign(BitmapXY) reichen. Speichere dazu das Bitmap aus der Imagelist in einem Themp.-Bitamp.
|
Re: Bilder mehrmals aus TImageList in TImage laden
Hi, danke, doch geht das auch nicht. Ich habe es nun so:
Delphi-Quellcode:
ImgConnect.Picture.Bitmap.Transparent := true;
ImgConnect.Picture.Bitmap.TransparentColor := clWhite; tempBmp := TBitmap.Create; try ImageList2.GetBitmap(Index, tempBmp); ImgConnect.Picture.Assign(TempBmp); finally FreeAndNil(tempBmp); end; |
Re: Bilder mehrmals aus TImageList in TImage laden
Sollte es tun:
Delphi-Quellcode:
function GetFromImageList(AnyImageList: TImageList; IconIndex: Integer): TBitmap;
var Bmp: TBitmap; begin Bmp := TBitmap.Create; AnyImageList.GetBitmap(IconIndex, Bmp); GetFromImageList := Bmp; Bmp.Free; end; ... begin ImageXYZ.Assign(GetFromImageList(ImageList1, i)); ... |
Re: Bilder mehrmals aus TImageList in TImage laden
Hi, dein Code geht nur, wenn man
Delphi-Quellcode:
weglässt, seltsam. Aber transparent ist es bei mir immer noch nicht, das hat nichts verändert. Vielleicht habe ich auch irgendwo anders etwas verstellt, ich denke aber nicht.
Bmp.Free;
|
Re: Bilder mehrmals aus TImageList in TImage laden
Liste der Anhänge anzeigen (Anzahl: 1)
Jaja, klar. Ich sag doch, zu spät.
Hanang: |
Re: Bilder mehrmals aus TImageList in TImage laden
Liste der Anhänge anzeigen (Anzahl: 1)
Moin,
schön und gut danke, aber dein Beispiel zeigt mir die Bildchen auch mit weißem Hintergrund (s. Anhang). Ich habe irgendwo einmal gelesen, es könne mit dem XP Service Pack 2 zusammenhängen, doch kann ich mir das eigentlich nicht vorstellen. :gruebel: Btw: Eine globale Variable dafür möchte ich eigentlich auch nicht verwenden müssen. :stupid: |
Re: Bilder mehrmals aus TImageList in TImage laden
Hm, ja möglich... seltsam. :gruebel:
Das hättest du auch gleich sagen können. :mrgreen: :zwinker: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 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