Frank Richter wrote:
Hi, I have a bit of trouble with loading a 32bpp RGBA bitmap from a resource. On Windows, using LoadImage() and LR_CREATEDIBSECTION the alpha values stays the same; however, doing the same on Wine, the alpha channel gets clobbered. I suspect it's the StretchDIBits() call, as hacking around that by memcpy()ing the bitmap bits into the returned DIB section makes it work... is memcpy()ing feasible?
I also checked StretchDIBits() (and BitBlt()), both preserve alpha when blitting between 32bpp DIB sections... so maybe it's in order to add alpha preservation to those functions?
-f.r.
Your problem sounds like one I am having for a long time with VB6 applications which use a toolbar: any icon with transparency gets its transparency clobbered in Wine. Could you please send some sample code, or else point to the source code of the app that is misbehaving? Maybe I could fix the problem with a patch, as well as fixing my own problem too (the part about pinpointing the root of the bug).