def testLoadPNG(self):
""" see if we can load a png with color values in the proper channels.
"""
# Create a PNG file with known colors
reddish_pixel = (210, 0, 0, 255)
greenish_pixel = (0, 220, 0, 255)
bluish_pixel = (0, 0, 230, 255)
greyish_pixel = (110, 120, 130, 140)
pixel_array = [reddish_pixel + greenish_pixel,
bluish_pixel + greyish_pixel]
f_descriptor, f_path = tempfile.mkstemp(suffix='.png')
f = os.fdopen(f_descriptor, 'wb')
w = png.Writer(2, 2, alpha=True)
w.write(f, pixel_array)
f.close()
# Read the PNG file and verify that pygame interprets it correctly
surf = pygame.image.load(f_path)
pixel_x0_y0 = surf.get_at((0, 0))
pixel_x1_y0 = surf.get_at((1, 0))
pixel_x0_y1 = surf.get_at((0, 1))
pixel_x1_y1 = surf.get_at((1, 1))
self.assertEquals(pixel_x0_y0, reddish_pixel)
self.assertEquals(pixel_x1_y0, greenish_pixel)
self.assertEquals(pixel_x0_y1, bluish_pixel)
self.assertEquals(pixel_x1_y1, greyish_pixel)
# Read the PNG file obj. and verify that pygame interprets it correctly
f = open(f_path, 'rb')
surf = pygame.image.load(f)
f.close()
pixel_x0_y0 = surf.get_at((0, 0))
pixel_x1_y0 = surf.get_at((1, 0))
pixel_x0_y1 = surf.get_at((0, 1))
pixel_x1_y1 = surf.get_at((1, 1))
self.assertEquals(pixel_x0_y0, reddish_pixel)
self.assertEquals(pixel_x1_y0, greenish_pixel)
self.assertEquals(pixel_x0_y1, bluish_pixel)
self.assertEquals(pixel_x1_y1, greyish_pixel)
os.remove(f_path)
评论列表
文章目录