We're going to use Image
and ImageOps
components of Pillow
module to resize/crop image.
How to resize an image keeping aspect ratio
from PIL import Image, ImageOps
im = Image.open('/var/www/examples/heroine.png')
width = 100
height = width * im.size[1]/im.size[0]
im = im.resize((width, height))
-
100
- resized image width, -
width * im.size[1]/im.size[0]
- calculates height so that aspect ratio is maintained.
Open original or edit on Github.
How to crop an image from center
im = Image.open('/var/www/examples/heroine.png')
crop = (400, 400)
left = round((im.size[0] - crop[0])/2)
top = round((im.size[1] - crop[1])/2)
im = im.crop((left, top, crop[0]+left, crop[1] + top))
-
(400, 400)
- cropping area width and height, -
(im.size[0]
- crop[0])/2` - left coordinate of a crop area to position in the horizontal center, -
(im.size[1]
- crop[1])/2` - top coordinate of a crop area to position in the vertical center.
Open original or edit on Github.
How to resize/crop an image cropped to fit certain area (cover thumbnail)
im = Image.open('/var/www/examples/heroine.png')
im = ImageOps.fit(im, (100,100), Image.ANTIALIAS)
-
100,100
- thumbnail area width and height, -
ImageOps.fit(
- fits an image into given area.
Top comments (0)