Resize and Crop
Description
Resize and crop an image to fit the specified size.
Installation
pip install resize-and-crop
or
pipenv install resize-and-crop
Methods
- resize_and_crop(path, size, crop_origin) - Resize the image located at path, into the size specified, cropping the image starting at the crop_origin.
- resized_image_file(image_field, format, dimensions, crop_origin) - Returns a new image file that has the resized image. Can be used to save to a Django ImageField.
Usage
from resize_and_crop import resize_and_crop
image = resize_and_crop("/path/to/image", (200,200), "middle")
from django.db import models
from resize_and_crop.utils import resized_image_file
class ExampleModel(models.Model):
image = models.ImageField(upload_to="images/")
thumbnail = models.ImageField(upload_to="thumbnails/")
def save(self, *args, **kwargs):
if self.image and not self.thumbnail:
self.thumbnail = resized_image_file(
self.image,
"jpeg",
(200, 200),
)
return super().save(*args, **kwargs)