def maskFromSurface(surface, threshold=127): mask = mask.Mask(surface.get_size()) key = surface.get_colorkey() if key: for y in range(surface.get_height()): for x in range(surface.get_width()): if surface.get_at((x + 0.1, y + 0.1)) != key: mask.set_at((x, y), 1) else: for y in range(surface.get_height()): for x in range(surface.get_width()): if surface.get_at((x, y))[3] > threshold: mask.set_at((x, y), 1) return mask
def maskFromSurface(surface, threshold = 127): mask = mask.Mask(surface.get_size()) key = surface.get_colorkey() if key: for y in range(surface.get_height()): for x in range(surface.get_width()): if surface.get_at((x+0.1,y+0.1)) != key: mask.set_at((x,y),1) else: for y in range(surface.get_height()): for x in range (surface.get_width()): if surface.get_at((x,y))[3] > threshold: mask.set_at((x,y),1) return mask