def test_threshold_set_behavior0(self): """ raises an error when set_behavior=1 and set_color is not None, and dest_surf is not None. """ from pygame.transform import threshold s1 = pygame.Surface((32, 32), SRCALPHA, 32) s2 = pygame.Surface((32, 32), SRCALPHA, 32) THRESHOLD_BEHAVIOR_COUNT = 0 self.assertRaises(TypeError, threshold, dest_surf=None, surf=s2, search_color=(30, 30, 30), threshold=(11, 11, 11), set_color=(0, 0, 0), set_behavior=THRESHOLD_BEHAVIOR_COUNT) self.assertRaises(TypeError, threshold, dest_surf=s1, surf=s2, search_color=(30, 30, 30), threshold=(11, 11, 11), set_color=None, set_behavior=THRESHOLD_BEHAVIOR_COUNT) threshold(dest_surf=None, surf=s2, search_color=(30, 30, 30), threshold=(11, 11, 11), set_color=None, set_behavior=THRESHOLD_BEHAVIOR_COUNT)
def test_threshold_set_behavior0(self): """ raises an error when set_behavior=1 and set_color is not None, and dest_surf is not None. """ from pygame.transform import threshold s1 = pygame.Surface((32,32), SRCALPHA, 32) s2 = pygame.Surface((32,32), SRCALPHA, 32) THRESHOLD_BEHAVIOR_COUNT = 0 self.assertRaises(TypeError, threshold, dest_surf=None, surf=s2, search_color=(30, 30, 30), threshold=(11, 11, 11), set_color=(0, 0, 0), set_behavior=THRESHOLD_BEHAVIOR_COUNT) self.assertRaises(TypeError, threshold, dest_surf=s1, surf=s2, search_color=(30, 30, 30), threshold=(11, 11, 11), set_color=None, set_behavior=THRESHOLD_BEHAVIOR_COUNT) threshold( dest_surf=None, surf=s2, search_color=(30, 30, 30), threshold=(11, 11, 11), set_color=None, set_behavior=THRESHOLD_BEHAVIOR_COUNT)
def test_threshold_from_surface(self): """ Set similar pixels in 'dest_surf' to color in the 'surf'. """ from pygame.transform import threshold surf = pygame.Surface((32, 32), SRCALPHA, 32) dest_surf = pygame.Surface((32, 32), SRCALPHA, 32) surf_color = (40, 40, 40, 255) dest_color = (255, 255, 255) surf.fill(surf_color) dest_surf.fill(dest_color) THRESHOLD_BEHAVIOR_FROM_SEARCH_SURF = 2 num_threshold_pixels = threshold( dest_surf=dest_surf, surf=surf, search_color=(30, 30, 30), threshold=(11, 11, 11), set_color=None, set_behavior=THRESHOLD_BEHAVIOR_FROM_SEARCH_SURF, inverse_set=1) self.assertEqual(num_threshold_pixels, dest_surf.get_height() * dest_surf.get_width()) self.assertEqual(dest_surf.get_at((0, 0)), surf_color)
def test_threshold_from_surface(self): """ Set similar pixels in 'dest_surf' to color in the 'surf'. """ from pygame.transform import threshold surf = pygame.Surface((32,32), SRCALPHA, 32) dest_surf = pygame.Surface((32,32), SRCALPHA, 32) surf_color = (40, 40, 40, 255) dest_color = (255, 255, 255) surf.fill(surf_color) dest_surf.fill(dest_color) THRESHOLD_BEHAVIOR_FROM_SEARCH_SURF = 2 num_threshold_pixels = threshold( dest_surf=dest_surf, surf=surf, search_color=(30, 30, 30), threshold=(11, 11, 11), set_color=None, set_behavior=THRESHOLD_BEHAVIOR_FROM_SEARCH_SURF, inverse_set=1) self.assertEqual(num_threshold_pixels, dest_surf.get_height() * dest_surf.get_width()) self.assertEqual(dest_surf.get_at((0, 0)), surf_color)
def test_threshold__surface(self): """ """ from pygame.transform import threshold s1 = pygame.Surface((32, 32), SRCALPHA, 32) s2 = pygame.Surface((32, 32), SRCALPHA, 32) s3 = pygame.Surface((1, 1), SRCALPHA, 32) THRESHOLD_BEHAVIOR_FROM_SEARCH_SURF = 2 # # only one pixel should not be changed. # s1.fill((40,40,40)) # s2.fill((255,255,255)) # s1.set_at( (0,0), (170, 170, 170) ) # # set the similar pixels in destination surface to the color # # in the first surface. # num_threshold_pixels = threshold( # dest_surf=s2, # surf=s1, # search_color=(30,30,30), # threshold=(11,11,11), # set_color=None, # set_behavior=THRESHOLD_BEHAVIOR_FROM_SEARCH_SURF) # #num_threshold_pixels = threshold(s2, s1, (30,30,30)) # self.assertEqual(num_threshold_pixels, (s1.get_height() * s1.get_width()) -1) # self.assertEqual(s2.get_at((0,0)), (0,0,0, 255)) # self.assertEqual(s2.get_at((0,1)), (40, 40, 40, 255)) # self.assertEqual(s2.get_at((17,1)), (40, 40, 40, 255)) # # abs(40 - 255) < 100 # #(abs(c1[0] - r) < tr) # s1.fill((160,160,160)) # s2.fill((255,255,255)) # num_threshold_pixels = threshold(s2, s1, (255,255,255), (100,100,100), (0,0,0), True) # self.assertEqual(num_threshold_pixels, (s1.get_height() * s1.get_width())) # only one pixel should not be changed. s1.fill((40, 40, 40)) s1.set_at((0, 0), (170, 170, 170)) THRESHOLD_BEHAVIOR_COUNT = 0 num_threshold_pixels = threshold(dest_surf=None, surf=s1, search_color=(30, 30, 30), threshold=(11, 11, 11), set_color=None, set_behavior=THRESHOLD_BEHAVIOR_COUNT) #num_threshold_pixels = threshold(s2, s1, (30,30,30)) self.assertEqual(num_threshold_pixels, (s1.get_height() * s1.get_width()) - 1) # test end markers. 0, and 255 # the pixels are different by 1. s1.fill((254, 254, 254)) s2.fill((255, 255, 255)) s3.fill((255, 255, 255)) s1.set_at((0, 0), (170, 170, 170)) num_threshold_pixels = threshold(None, s1, (254, 254, 254), (1, 1, 1), None, THRESHOLD_BEHAVIOR_COUNT) self.assertEqual(num_threshold_pixels, (s1.get_height() * s1.get_width()) - 1) # compare the two surfaces. Should be all but one matching. num_threshold_pixels = threshold(None, s1, None, (1, 1, 1), None, THRESHOLD_BEHAVIOR_COUNT, s2) self.assertEqual(num_threshold_pixels, (s1.get_height() * s1.get_width()) - 1) # within (0,0,0) threshold? Should match no pixels. num_threshold_pixels = threshold(None, s1, (253, 253, 253), (0, 0, 0), None, THRESHOLD_BEHAVIOR_COUNT) self.assertEqual(num_threshold_pixels, 0) # other surface within (0,0,0) threshold? Should match no pixels. num_threshold_pixels = threshold(None, s1, None, (0, 0, 0), None, THRESHOLD_BEHAVIOR_COUNT, s2) self.assertEqual(num_threshold_pixels, 0)
def test_threshold__surface(self): """ """ from pygame.transform import threshold s1 = pygame.Surface((32,32), SRCALPHA, 32) s2 = pygame.Surface((32,32), SRCALPHA, 32) s3 = pygame.Surface((1,1), SRCALPHA, 32) THRESHOLD_BEHAVIOR_FROM_SEARCH_SURF = 2 # if 1: # # only one pixel should not be changed. # s1.fill((40,40,40)) # s2.fill((255,255,255)) # s1.set_at( (0,0), (170, 170, 170) ) # # set the similar pixels in destination surface to the color # # in the first surface. # num_threshold_pixels = threshold( # dest_surf=s2, # surf=s1, # search_color=(30,30,30), # threshold=(11,11,11), # set_color=None, # set_behavior=THRESHOLD_BEHAVIOR_FROM_SEARCH_SURF) # #num_threshold_pixels = threshold(s2, s1, (30,30,30)) # self.assertEqual(num_threshold_pixels, (s1.get_height() * s1.get_width()) -1) # self.assertEqual(s2.get_at((0,0)), (0,0,0, 255)) # self.assertEqual(s2.get_at((0,1)), (40, 40, 40, 255)) # self.assertEqual(s2.get_at((17,1)), (40, 40, 40, 255)) # # abs(40 - 255) < 100 # #(abs(c1[0] - r) < tr) # if 1: # s1.fill((160,160,160)) # s2.fill((255,255,255)) # num_threshold_pixels = threshold(s2, s1, (255,255,255), (100,100,100), (0,0,0), True) # self.assertEqual(num_threshold_pixels, (s1.get_height() * s1.get_width())) if 1: # only one pixel should not be changed. s1.fill((40, 40, 40)) s1.set_at((0, 0), (170, 170, 170)) THRESHOLD_BEHAVIOR_COUNT = 0 num_threshold_pixels = threshold( dest_surf=None, surf=s1, search_color=(30, 30, 30), threshold=(11, 11, 11), set_color=None, set_behavior=THRESHOLD_BEHAVIOR_COUNT) #num_threshold_pixels = threshold(s2, s1, (30,30,30)) self.assertEqual(num_threshold_pixels, (s1.get_height() * s1.get_width()) -1) if 1: # test end markers. 0, and 255 # the pixels are different by 1. s1.fill((254,254,254)) s2.fill((255,255,255)) s3.fill((255,255,255)) s1.set_at( (0,0), (170, 170, 170) ) num_threshold_pixels = threshold(None, s1, (254,254,254), (1,1,1), None, THRESHOLD_BEHAVIOR_COUNT) self.assertEqual(num_threshold_pixels, (s1.get_height() * s1.get_width()) -1) # compare the two surfaces. Should be all but one matching. num_threshold_pixels = threshold(None, s1, None, (1,1,1), None, THRESHOLD_BEHAVIOR_COUNT, s2) self.assertEqual(num_threshold_pixels, (s1.get_height() * s1.get_width()) -1) # within (0,0,0) threshold? Should match no pixels. num_threshold_pixels = threshold(None, s1, (253,253,253), (0,0,0), None, THRESHOLD_BEHAVIOR_COUNT) self.assertEqual(num_threshold_pixels, 0) # other surface within (0,0,0) threshold? Should match no pixels. num_threshold_pixels = threshold(None, s1, None, (0,0,0), None, THRESHOLD_BEHAVIOR_COUNT, s2) self.assertEqual(num_threshold_pixels, 0)