Luiz Americo Pereira Camara wrote:
Luiz Americo Pereira Camara wrote:
The problem is that StretchMaskBlt is calling AlphaBlend and somehow this is not working.

It seems that TBitmap will have alpha channel by default (or at least LCL recognizes as having) when running in a display with 32bit color under win32.

Looking at StretchMaskBlt (the function used by TBitmap to draw) when a bitmap has alpha (checks if has 32bit depth), each time is draw an extra bitmap is created and also some other extra calls.

I don't think we need alpha channel by default when using TBitmap to e.g temporarily draw before sending to the canvas. Maybe a property could be added to enable alpha support at TBitmap level (when reading a file or when the user requires it). Another option is to split StretchMaskBlt


This will be fixed. By default a bitmap should be 24bpp when 32bpp is available. There was a fix, but at the wrong place. So I removed removed it when fixing 9501
Didn't find a proper place yet.

BTW, a TBitmap has already such property. No need to add another one :)

Marc


_________________________________________________________________
    To unsubscribe: mail [EMAIL PROTECTED] with
               "unsubscribe" as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to