FYI, when using RotateMBS on Win32 with a 32 bit image source, although the 
image itself rotates fine, the image mask may have junk in the image channel. 

The mask junk is not, fortunately in the mask's alpha channel so the fix is 
therefore just to draw the mask to a temporary picture after rotating, which 
removes the junk:

        // assume p0 is a 32 bit image with alpha
        dim tmp as picture = p0
        dim tmpMask as picture = p0.CopyMask
        tmp = tmp.RotateMBS(angle, backColor)
        dim backMaskColor as color = &cFFFFFF
        tmpMask = tmpMask.RotateMBS(angle, backMaskColor)   // on win32 there 
is junk in the RGB channel
          
          #if TargetWin32
            // fix for win32 bugs
            dim t2 as picture = new picture(tmpMask.Width,tmpMask.Height)
            t2.Graphics.ForeColor = backMaskColor
            t2.Graphics.FillRect 0,0,t2.width, t2.height
            t2.graphics.drawPicture tmpMask,0,0
            tmpMask = t2
          #endif

        // recombine picture and mask
        dim dest as new picture(tmp.width,tmp.height)
        dest.FillPicture(&c0000000) // clean it out
        dest.FillPicture(backColor) 
        dest.Graphics.DrawPicture tmp,0,0
        dest.ApplyMask tmpMask

Perhaps this could be fixed in MBS plugins, or at least added as a note to 
documentation?                  
_______________________________________________
Mbsplugins_monkeybreadsoftware.info mailing list
mbsplugins@monkeybreadsoftware.info
https://ml01.ispgateway.de/mailman/listinfo/mbsplugins_monkeybreadsoftware.info

Reply via email to