Index: src/generic/graphicc.cpp
=================================================================== --- src/generic/graphicc.cpp (revision 76007) +++ src/generic/graphicc.cpp (working copy) @@ -1569,12 +1569,13 @@ { const wxUint32 argb = *src++; - *alpha++ = (argb & 0xff000000) >> 24; + const unsigned char a = argb >> 24; + *alpha++ = a; // Copy the RGB data undoing the pre-multiplication. - *dst++ = Unpremultiply(*alpha, (argb & 0x00ff0000) >> 16); - *dst++ = Unpremultiply(*alpha, (argb & 0x0000ff00) >> 8); - *dst++ = Unpremultiply(*alpha, (argb & 0x000000ff)); + *dst++ = Unpremultiply(a, argb >> 16); + *dst++ = Unpremultiply(a, argb >> 8); + *dst++ = Unpremultiply(a, argb); } src = rowStart + stride; git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76015 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
b1273c0d8a
commit
70ef1e192d
@ -1569,12 +1569,13 @@ wxImage wxCairoBitmapData::ConvertToImage() const
|
||||
{
|
||||
const wxUint32 argb = *src++;
|
||||
|
||||
*alpha++ = (argb & 0xff000000) >> 24;
|
||||
const unsigned char a = argb >> 24;
|
||||
*alpha++ = a;
|
||||
|
||||
// Copy the RGB data undoing the pre-multiplication.
|
||||
*dst++ = Unpremultiply(*alpha, (argb & 0x00ff0000) >> 16);
|
||||
*dst++ = Unpremultiply(*alpha, (argb & 0x0000ff00) >> 8);
|
||||
*dst++ = Unpremultiply(*alpha, (argb & 0x000000ff));
|
||||
*dst++ = Unpremultiply(a, argb >> 16);
|
||||
*dst++ = Unpremultiply(a, argb >> 8);
|
||||
*dst++ = Unpremultiply(a, argb);
|
||||
}
|
||||
|
||||
src = rowStart + stride;
|
||||
|
Loading…
Reference in New Issue
Block a user