Ejemplo n.º 1
0
    def test_resize(self):
        context = ImageTransform((640, 480))
        resized = context.resize((320, 240))

        vector = Vector(100, 200)
        transformed = resized.transform_vector(vector)

        self.assertEqual(transformed, Vector(50, 100))

        untransformed = resized.untransform_vector(transformed)

        self.assertEqual(untransformed, vector)
Ejemplo n.º 2
0
    def test_crop(self):
        context = ImageTransform((640, 480))
        cropped = context.crop(Rect(200, 100, 300, 200))

        vector = Vector(250, 150)
        transformed = cropped.transform_vector(vector)

        self.assertEqual(transformed, Vector(50, 50))

        untransformed = cropped.untransform_vector(transformed)

        self.assertEqual(untransformed, vector)
Ejemplo n.º 3
0
    def test_resize_then_crop(self):
        context = ImageTransform((640, 480))
        resized = context.resize((320, 240))
        cropped = resized.crop(Rect(200, 100, 300, 200))

        vector = Vector(500, 300)
        transformed = cropped.transform_vector(vector)

        self.assertEqual(transformed, Vector(50, 50))

        untransformed = cropped.untransform_vector(transformed)

        self.assertEqual(untransformed, vector)
Ejemplo n.º 4
0
    def get_transform(self, image):
        """
        Returns an ImageTransform with all the transforms in this filter applied.

        The ImageTransform is an object with two attributes:
         - .size - The size of the final image
         - .matrix - An affine transformation matrix that combines any
           transform/scale/rotation operations that need to be applied to the image
        """
        transform = ImageTransform((image.width, image.height))
        for operation in self.transform_operations:
            transform = operation.run(transform, image)
        return transform