#!/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]}')