예제 #1
0
    def test_rotate(self):
        a = AffineTransform()
        self.assertEqual(a.rotate(0), a)
        self.assertEqual(a.rotate(360), a)

        self.assertEqual(a.rotate(90), a.rotate(270, clockwise=True))

        self.assertEqual(a.rotate(90), AffineTransform((0, -1, 0, 1, 0, 0, 0, 0, 1)))
예제 #2
0
파일: test_affine.py 프로젝트: ii0/pymaging
    def test_rotate(self):
        a = AffineTransform()
        self.assertEqual(a.rotate(0), a)
        self.assertEqual(a.rotate(360), a)

        self.assertEqual(a.rotate(90), a.rotate(270, clockwise=True))

        self.assertEqual(a.rotate(90),
                         AffineTransform((0, -1, 0, 1, 0, 0, 0, 0, 1)))
예제 #3
0
    def rotate(self,
               degrees,
               clockwise=False,
               resample_algorithm=nearest,
               resize_canvas=True):
        """
        Returns the image obtained by rotating this image by the
        given number of degrees.
        Anticlockwise unless clockwise=True is given.
        """
        # translate to the origin first, then rotate, then translate back
        transform = AffineTransform()
        transform = transform.translate(self.width * -0.5, self.height * -0.5)
        transform = transform.rotate(degrees, clockwise=clockwise)

        width, height = self.width, self.height
        if resize_canvas:
            # determine new width
            width, height = get_transformed_dimensions(transform,
                                                       (0, 0, width, height))

        transform = transform.translate(width * 0.5, height * 0.5)

        pixels = resample_algorithm.affine(self,
                                           transform,
                                           resize_canvas=resize_canvas)

        return self._copy(pixels)
예제 #4
0
파일: image.py 프로젝트: wdv4758h/ZipPy
    def rotate(self, degrees, clockwise=False, resample_algorithm=nearest, resize_canvas=True):
        """
        Returns the image obtained by rotating this image by the
        given number of degrees.
        Anticlockwise unless clockwise=True is given.
        """
        # translate to the origin first, then rotate, then translate back
        transform = AffineTransform()
        transform = transform.translate(self.width * -0.5, self.height * -0.5)
        transform = transform.rotate(degrees, clockwise=clockwise)

        width, height = self.width, self.height
        if resize_canvas:
            # determine new width
            width, height = get_transformed_dimensions(transform, (0, 0, width, height))

        transform = transform.translate(width * 0.5, height * 0.5)

        pixels = resample_algorithm.affine(self, transform, resize_canvas=resize_canvas)

        return self._copy(pixels)