![]() |
D2010: transparentes PNG ausgeben
Hallo #,
seit Stunden probiere ich hier rum ;( Ich möchte eine transparentes PNG ausgeben.
Delphi-Quellcode:
Das Problem ist, dass der transparente Teil immer schwarz ist.
Bitmap: TBitmap;
Bitmap.PixelFormat:= pf32bit; Bitmap.LoadFromFile('XXX'); theCanvas.Draw(0, 0, Bitmap); // theCanvas: TCanvas // oder theCanvas.Draw(0, 0, PngImage); // theCanvas: TCanvas Auch SetBkMode oder die Nutzung von TPngImage zeigt mir das immer schwarz an. Das Problem ist bekannt (google alte Threads) Was mache ich verkehrt ? Heiko |
AW: D2010: transparentes PNG ausgeben
Hast du es schon mal mit einer speziellen PNG-Kompo versucht? Es scheint so, als die Transparenzinformationen beim Laden in ein Bitmap verloren geht
|
AW: D2010: transparentes PNG ausgeben
Hallo,
habe es gerade bold gemacht. ;) D2010 hat ja jetzt ein TPngImage (genauer ab 2009 ist es drin). Aber ich Dussel hatte es aus meiner Spezial-Komponente an ein Bitmap übergeben und von da an das PngImage. Jetzt zeigt er es an, aber zu groß ;( OK, GDI+ ist dein Freund. Heiko |
AW: D2010: transparentes PNG ausgeben
Delphi-Quellcode:
Canvas.Brush.Style := bsClear;
Canvas.Draw(0,0,image1.Picture.Graphic); |
AW: D2010: transparentes PNG ausgeben
Hallo,
mit bsClear klappt es auch nicht. Das Problem liegt wirklich darin, dass das Image ein PngImage sein muss. Meine Bilder liegen in einer DB und werden als Stream in die Anwendung geladen Ein PngImage.LoadFromStream meldet "ungültiges Format" Mach ich aber ein Stream.WriteToFile('XXX.PNG'; PngImage.ReadFromFile('XXX.PNG'; klappt alles. Mensch ! Mensch ! ;( Aber das kann ich so lösen. Danke an alle. Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:49 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