Problem gelöst.
Ich habe zwar nicht den Editor gefunden, aber eine Ursache für meine Problematik von getBitmap gefunden.
Für alle die evtl. auch Probleme damit haben:
Bevor ImageList1.GetBitmap aufgerufen wird, muss man das Bitmap selbst mit der Farbe füllen, die dann das Transparente darstellt.
Hintergrund: Wird ein Bitmap per Create neu erzeugt, ist der Inhalt weiß. Wird nun per GetBitmap ein Bild darauf gezeichnet / geladen, bleibt der Hintergrund weiterhin weiß (an den Stellen, an denen das Bild aus der imagelist "Transparent" ist). Hat das Bild aus der Imagelist nun auch Bereiche die normal "weiß" sind, werden diese später mit transparent dargestellt.
Man kann also wie folgt vorgehen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| LBitmap.Transparent := True; LBitmap.width := Imagelist1.width; LBitmap.Height := Imagelist1.height; LBitmap.Pixelformat := pf32bit; LBitmap.canvas.brush.color := clFuchsia; LBitmap.Canvas.Brush.Style := bsSolid; LBitmap.Canvas.FillRect(Rect(0,0,LBitmap.Width, LBitmap.Height)); ImageList1.GetBitmap(BildIndex, LBitmap); |
Gruß,
Rainer