git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33616 
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
 
             for ( int x = 0; x < REAL_SIZE; ++x )
             {
-                p.Red() = r;
-                p.Green() = g;
-                p.Blue() = b;
-                p.Alpha() = (Data::Iterator::ChannelType)((x*255.)/REAL_SIZE);
+                // note that RGB must be premultiplied by alpha
+                unsigned a = (Data::Iterator::ChannelType)((x*255.)/REAL_SIZE);
+                p.Red() = r * alpha / 256;
+                p.Green() = g * alpha / 256;
+                p.Blue() = b * alpha / 256;
+                p.Alpha() = a;
 
                 ++p; // same as p.OffsetX(1)
             }