Einzelnen Beitrag anzeigen

Benutzerbild von pustekuchen
pustekuchen

Registriert seit: 27. Aug 2010
265 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: CopyRect/BitBlt auf TPNGImage zerstört farben

  Alt 9. Mär 2012, 07:25
Hallo,

ich habe z.Z. das gleiche Problem. Habe hier 8Bit Bilder die beim Kopieren mit BitBlt farblich zerstört werden.

Habe leider nicht wirklich Einfluss auf die erstellten PNG-Bilder.

Wie genau hast du das mit AlphaBlend gemacht?

Ich habe es wie folgt versucht:
Delphi-Quellcode:
var
  bf : BLENDFUNCTION;
begin
  bf.BlendOp := AC_SRC_OVER;
  bf.BlendFlags := 0;
  bf.AlphaFormat := 0; // use source alpha
  bf.SourceConstantAlpha := 0;
...

AlphaBlend(Map.Canvas.Handle, xCount,YCount,SIZE_TILE,SIZE_TILE,
          PngImage.Canvas.Handle, 0, 0,SIZE_TILE,SIZE_TILE,bf);
...
Jedoch sind die Farben dann ebenfalls zerstört und das ganze ist nun ein wenig Transparent :>
Delphi programming is awesome.
  Mit Zitat antworten Zitat