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 :>