Example #1
0
    def smart_resize(self, size):
        size = as_dimensions(size)
        canvas_size = copy.deepcopy(size)
        current_size = self.dimensions

        # Simple scaling
        if not (size.width and size.height):
            self.resize(size)
        else:
            # Find fit resolution
            scale_size = _dimensions_to_fit_image(current_size, canvas_size)
            self.resize(scale_size)
            if scale_size != canvas_size:
                canvas = Canvas.from_blank(canvas_size)
                canvas.paste(self)
                self._pil = canvas._pil
        return
Example #2
0
 def test_as_dimensions(self):
     coord = mathtypes.as_dimensions(100, 200)
     self.assertEqual(coord.width, 100)
     self.assertEqual(coord.height, 200)