From a6b31c4b7c4e763a3de477ed22fbe3ae4f2efba3 Mon Sep 17 00:00:00 2001 From: Castro0o Date: Mon, 2 Mar 2020 11:57:28 +0100 Subject: [PATCH] resizing Images after downloaded with PIL --- README.md | 2 ++ download_imgs.py | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/README.md b/README.md index 5a2fe60..0602892 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,8 @@ * [jinja2](https://jinja.palletsprojects.com/en/2.11.x/) Python library * Install: * `pip3 install jinja2` +* [Pillow](https://pillow.readthedocs.io/en/stable/) Python library for image processing + * `pip3 install Pillow` * [pandoc](https://pandoc.org/) * Install: * Debian/Ubuntu: `sudo apt install pandoc` diff --git a/download_imgs.py b/download_imgs.py index 34c1e0c..5ba671a 100644 --- a/download_imgs.py +++ b/download_imgs.py @@ -2,6 +2,7 @@ import os from mwclient import Site from pprint import pprint from functions import update_json +from PIL import Image site = Site(host='hub.xpub.nl/sandbox', path='/itchwiki/') wd = os.path.dirname(os.path.abspath(__file__)) # working directory @@ -11,6 +12,7 @@ os.makedirs(imgdir, exist_ok=True) # create images/ dir imgsjson_fn = os.path.join(wd, 'images.json') +thumbnail_size = 1200 # largest px dimension of img thumbnails with open(os.path.join(wd, 'login.txt'), 'r') as login: # read login user & pwd @@ -43,4 +45,18 @@ for img in site.allimages(): print('DOWNLOADING:', img_fn) with open(img_fn, 'wb') as img_file: img.download(destination=img_file) + + # resize image + pilimg = Image.open(img_fn) + pilimg_dim = list(pilimg._size) + pilimg_dim_sort = sorted(pilimg_dim) # smallest dimension 1st + img_ratio = pilimg_dim_sort[0] / pilimg_dim_sort[1] + if pilimg_dim == pilimg_dim_sort: + # if height was largest + new_dim = [(thumbnail_size * img_ratio), thumbnail_size] + else: + # if with was largest + new_dim = [thumbnail_size,(thumbnail_size * img_ratio)] + pilimg.thumbnail(new_dim) + pilimg.save(img_fn) print('\n')