Einzelnen Beitrag anzeigen

tumo

Registriert seit: 28. Apr 2014
46 Beiträge
 
Delphi 10.3 Rio
 
#50

AW: PNG in TImage falsch dargestellt

  Alt 27. Apr 2020, 17:13
@Rolf Frei
Ach ja. Das ist im Eifer des Gefechtes etwas in Vergessenheit geraten. Hab es gerade mal probiert, ändert leider nichts an der Situation, besagte PNG wird mit schwarzem Hintergrund dargestellt :/.
Hier mein Quellcode:
Delphi-Quellcode:
png := TPNGImage.Create;
    png.LoadFromFile(Path);
    bmp := TBitmap.Create;
    bmp.Assign(png); // <-- TPNGImage AssignTo() ist modifiziert. Es fehlen das Brush.Color := 0 sowie das FillRect.
    Image3.Picture.Graphic := bmp;
@Redeemer
Dieser Code funktioniert . So oder so ähnlich hätte ich es natürlich auch gelöst . Spaß beiseite, vielen Dank!
Dass die Bilder nicht optimal gespeichert sind, hab ich auch schon gemerkt. Wie gesagt, manche sind mir so gegeben, andere sind von mir in Paint.net erstellt, keine Ahnung, warum es da solche Späßchen generiert.

Jetzt hat das Problem einen Workaround. Warum Delphi überhaupt eine Unterscheidung zwischen Partial- und BitTransparency macht, bleibt mir ein Rätsel. Hat das einen entscheidenden Vorteil?
Mein Problem ist jetzt jedenfalls behoben bzw. umgangen. Danke euch.

Habe es jetzt folgendermaßen gelöst (mit der Prozedur von Redeemer):
Delphi-Quellcode:
var
  gfx: TPicture;
begin
  gfx := TPicture.Create;
  gfx.LoadFromFile(Path);
  if gfx.Graphic is TPNGImage then
    Deindex(gfx.Graphic as TPNGImage);
  Image3.Picture.Assign(gfx);
end;
  Mit Zitat antworten Zitat