You could probably just take the mask surface (RGBA surface) and blit a RGB surface over it, then take the resulting surface and get your effect:
psuedocode: mask #RGBA surface image #RGB surface #both the same size mask.blit(image,(0,0)) resultsurface = mask.copy() #and so on... Hope this is what you were looking for... Ian