#!/usr/bin/python3
# ===================================================================
# resize an image
# ===================================================================
from PIL import Image
infile = 'example.png'
outfile = 'zzzzzzz.png'
new_height = 420
# ---- open image
image = Image.open(infile)
print()
print('---- input image -----------')
print(f'file : {infile}')
print(f'width : {image.size[0]}')
print(f'height: {image.size[1]}')
# --- create a "new_width" based on "new_height"
new_width = int(float(image.size[0]) *
(new_height / float(image.size[1])))
# ---- create a resized image
new_size = (new_width,new_height)
new_image = image.resize(new_size,resample=Image.BICUBIC)
## ---- found on the web ---------------------------------
## ---- see PIL.Image documentation for "resize" parameter
## ---- new_image = image.resize(new_size,Image.NEAREST)
## -------------------------------------------------------
# ---- save new image
new_image.save(outfile)
print()
print('---- output image ----------')
print(f'file : {outfile}')
print(f'width : {new_image.size[0]}')
print(f'height: {new_image.size[1]}')