Beispiel #1
0
    def test_textsize(self):
        # Arrange
        im = Image.new("RGB", (W, H))
        draw = ImageDraw2.Draw(im)
        font = ImageDraw2.Font("white", FONT_PATH)

        # Act
        size = draw.textsize("ImageDraw2", font)

        # Assert
        self.assertEqual(size[1], 12)
Beispiel #2
0
    def helper_line(self, points):
        # Arrange
        im = Image.new("RGB", (W, H))
        draw = ImageDraw2.Draw(im)
        pen = ImageDraw2.Pen("yellow", width=2)

        # Act
        draw.line(points, pen)

        # Assert
        self.assert_image_equal(
            im, Image.open("Tests/images/imagedraw_line.png"))
Beispiel #3
0
    def test_ellipse_edge(self):
        # Arrange
        im = Image.new("RGB", (W, H))
        draw = ImageDraw2.Draw(im)
        brush = ImageDraw2.Brush("white")

        # Act
        draw.ellipse(((0, 0), (W-1, H)), brush)

        # Assert
        self.assert_image_similar(
            im, Image.open("Tests/images/imagedraw_ellipse_edge.png"), 1)
Beispiel #4
0
    def test_sanity(self):
        im = hopper("RGB").copy()

        draw = ImageDraw2.Draw(im)
        pen = ImageDraw2.Pen("blue", width=7)
        draw.line(list(range(10)), pen)

        from PIL2 import ImageDraw

        draw, handler = ImageDraw.getdraw(im)
        pen = ImageDraw2.Pen("blue", width=7)
        draw.line(list(range(10)), pen)
Beispiel #5
0
    def test_flush(self):
        # Arrange
        im = Image.new("RGB", (W, H))
        draw = ImageDraw2.Draw(im)
        font = ImageDraw2.Font("white", FONT_PATH)

        # Act
        draw.text((5, 5), "ImageDraw2", font)
        im2 = draw.flush()

        # Assert
        self.assert_image_equal(im, im2)
Beispiel #6
0
    def test_textsize_empty_string(self):
        # Arrange
        im = Image.new("RGB", (W, H))
        draw = ImageDraw2.Draw(im)
        font = ImageDraw2.Font("white", FONT_PATH)

        # Act
        # Should not cause 'SystemError: <built-in method getsize of
        # ImagingFont object at 0x...> returned NULL without setting an error'
        draw.textsize("", font)
        draw.textsize("\n", font)
        draw.textsize("test\n", font)
Beispiel #7
0
    def test_text(self):
        # Arrange
        im = Image.new("RGB", (W, H))
        draw = ImageDraw2.Draw(im)
        font = ImageDraw2.Font("white", FONT_PATH)
        expected = "Tests/images/imagedraw2_text.png"

        # Act
        draw.text((5, 5), "ImageDraw2", font)

        # Assert
        self.assert_image_similar(im, Image.open(expected), 13)
Beispiel #8
0
    def helper_ellipse(self, mode, bbox):
        # Arrange
        im = Image.new("RGB", (W, H))
        draw = ImageDraw2.Draw(im)
        pen = ImageDraw2.Pen("blue", width=2)
        brush = ImageDraw2.Brush("green")
        expected = "Tests/images/imagedraw_ellipse_{}.png".format(mode)

        # Act
        draw.ellipse(bbox, pen, brush)

        # Assert
        self.assert_image_similar(im, Image.open(expected), 1)
Beispiel #9
0
    def helper_rectangle(self, bbox):
        # Arrange
        im = Image.new("RGB", (W, H))
        draw = ImageDraw2.Draw(im)
        pen = ImageDraw2.Pen("green", width=2)
        brush = ImageDraw2.Brush("black")

        # Act
        draw.rectangle(bbox, pen, brush)

        # Assert
        self.assert_image_equal(
            im, Image.open("Tests/images/imagedraw_rectangle.png"))
Beispiel #10
0
    def helper_polygon(self, points):
        # Arrange
        im = Image.new("RGB", (W, H))
        draw = ImageDraw2.Draw(im)
        pen = ImageDraw2.Pen("blue", width=2)
        brush = ImageDraw2.Brush("red")

        # Act
        draw.polygon(points, pen, brush)

        # Assert
        self.assert_image_equal(
            im, Image.open("Tests/images/imagedraw_polygon.png"))
Beispiel #11
0
    def test_big_rectangle(self):
        # Test drawing a rectangle bigger than the image
        # Arrange
        im = Image.new("RGB", (W, H))
        bbox = [(-1, -1), (W + 1, H + 1)]
        brush = ImageDraw2.Brush("orange")
        draw = ImageDraw2.Draw(im)
        expected = "Tests/images/imagedraw_big_rectangle.png"

        # Act
        draw.rectangle(bbox, brush)

        # Assert
        self.assert_image_similar(im, Image.open(expected), 1)
Beispiel #12
0
    def test_line_pen_as_brush(self):
        # Arrange
        im = Image.new("RGB", (W, H))
        draw = ImageDraw2.Draw(im)
        pen = None
        brush = ImageDraw2.Pen("yellow", width=2)

        # Act
        # Pass in the pen as the brush parameter
        draw.line(POINTS1, pen, brush)

        # Assert
        self.assert_image_equal(
            im, Image.open("Tests/images/imagedraw_line.png"))