def test_image_convert_bug_131(self):
# Bitbucket bug #131: Unable to Surface.convert(32) some 1-bit images.
# https://bitbucket.org/pygame/pygame/issue/131/unable-to-surfaceconvert-32-some-1-bit
# Skip test_image_convert_bug_131 for headless tests.
if os.environ.get('SDL_VIDEODRIVER') == 'dummy':
return
pygame.display.init()
pygame.display.set_mode((640,480))
im = pygame.image.load(example_path(os.path.join("data", "city.png")))
im2 = pygame.image.load(example_path(os.path.join("data", "brick.png")))
self.assertEquals( im.get_palette(), ((0, 0, 0, 255), (255, 255, 255, 255)) )
self.assertEquals( im2.get_palette(), ((0, 0, 0, 255), (0, 0, 0, 255)) )
self.assertEqual(repr(im.convert(32)), '<Surface(24x24x32 SW)>')
self.assertEqual(repr(im2.convert(32)), '<Surface(469x137x32 SW)>')
# Ensure a palette format to palette format works.
im3 = im.convert(8)
self.assertEqual(repr(im3), '<Surface(24x24x8 SW)>')
self.assertEqual(im3.get_palette(), im.get_palette())
# It is still an error when the target format really does have
# an empty palette (all the entries are black).
self.assertRaises(pygame.error, im2.convert, 8)
self.assertEqual(pygame.get_error(), "Empty destination palette")
评论列表
文章目录