def test_clear_color(): img = Image(100, 200) # just to put something in there to clear. img.draw_rectangle((-10, -10), (50, 100), fill_color='red') img.draw_rectangle((50, 100), (110, 210), fill_color='blue') img.save(outfile("test_image_clear_before2.png"), "png") img.clear(color='white') img.save(outfile("test_image_clear_after2.png"), "png") assert np.all(np.asarray(img).flat == img.get_color_index('white'))
def test_copy_ul(): """ test copying parts of an image """ img1 = Image(10, 10) img2 = Image(10, 10) img1.draw_rectangle((1, 1), (8, 8), fill_color='red') img2.draw_rectangle((0, 0), (9, 9), fill_color='blue') img2.copy(img1, (0, 0), (7, 7), (4, 4)) img2.save(outfile("image_copy_upper_left.bmp"))
def test_copy2(): """ test copying parts of an image """ img1 = Image(10, 10) img2 = Image(10, 10) img1.draw_rectangle((1, 1), (8, 8), fill_color='red') img2.draw_rectangle((0, 0), (9, 9), fill_color='blue') img2.copy(img1, (3, 3), (3, 3), (4, 4)) img1.save(outfile("image_copy_middle1.bmp")) img2.save(outfile("image_copy_middle2.bmp"))
def test_add_colors(): img = Image(10, 10, preset_colors='BW') assert img.get_color_names() == ['transparent', 'black', 'white'] img.add_color('light grey', (220, 220, 220)) assert img.get_color_names() == [ 'transparent', 'black', 'white', 'light grey' ] assert img.get_color_index('light grey') == 3 img.draw_rectangle((2, 2), (7, 7), fill_color='light grey') img.save(outfile('test_image_grey.bmp')) with pytest.raises(ValueError): # color doesn't exist img.draw_rectangle((2, 2), (7, 7), fill_color='red')
def test_rectangles(): img = Image(100, 200) img.draw_rectangle((10, 10), (30, 40), fill_color='blue') img.draw_rectangle((20, 50), (40, 70), line_color='blue', line_width=5) img.draw_rectangle((40, 80), (90, 220), fill_color='white', line_color='green', line_width=2) img.save(outfile("test_image_rectangle.bmp"))
def test_copy_transparent(): """ test copying parts of an image that are transparent """ img1 = Image(10, 10) img2 = Image(10, 10) img1.draw_rectangle((0, 0), (9, 9), fill_color='red') img1.draw_rectangle((2, 2), (7, 7), fill_color='transparent') img2.draw_rectangle((0, 0), (9, 9), fill_color='blue') img2.copy(img1, (0, 0), (7, 7), (4, 4)) img2.save(outfile("image_copy_trans.png"), file_type="png")
def test_equality(): """ test that an image is equal to itself and an identical image """ img1 = Image(10, 10) img2 = Image(10, 10) img3 = Image(10, 11) img1.draw_rectangle((1, 1), (8, 8), fill_color='red') img2.draw_rectangle((1, 1), (8, 8), fill_color='red') img3.draw_rectangle((1, 1), (8, 8), fill_color='blue') assert img1 == img1 assert img1 == img2 assert img1 != img3 assert (img1 == img3) is False