hi, I think you can do this with Surface.set_masks() and surface.set_shifts.
Get the r,g,b,a masks, and shifts, then change them so that only the a part is valid any more. Then, I think you could blit the A from one surface to another. cheers, On Fri, Dec 19, 2008 at 1:54 PM, Weeble <[email protected]> wrote: > Can somebody suggest how to do this? I want to render parts of an > image based on a dynamically generated mask. Right now I'm doing this > by drawing the mask in black and white on another surface, then > iterating over every pixel and changing the alpha value of the source > image to match the red value of the corresponding pixel in the mask > surface, then finally blitting this onto the target surface. This > seems a bit convoluted and I get the feeling there's probably a more > efficient way to do it. Is there a way either to 1. blit an 8-bit > greyscale image directly into the alpha channel of an image, or 2. > directly blit image A onto image B using image C as the alpha channel? >
