I want to put watermarks on images in a command line application.
This doesn't do the trick:

ScaledImage:=TFPCompactImgRGBA8Bit.Create(Width, Height);
Canvas:=TFPImageCanvas.Create(ScaledImage); // TFPImageCanvas
Canvas.StretchDraw(0,0,Width,Height,Image); // Image is TFPCompactImgRGB8Bit
Canvas.Draw(0,0,Watermark); // Watermark is an TFPCompactImgRGBA8Bit

Watermark is a transparent PNG loaded from disk but the transparency is not 
respected when drawing it onto ScaledImage.

Can FCL Image do this and if not what are my alternatives?

It should be able to do this, yes.

TFPCustomCanvas.Draw does not handle Alpha by merging. It simply copies
the pixel. Is this a bug or by design?

I would say it is a bug.

Thinking about it, i would add a parameter to the call to enable this, for

fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org

Reply via email to