tk_canvas_02.py

#!/usr/bin/python
# ==================================================================
# Tk Canvas Image
# ------------------------------------------------------------------
# Base on: stackoverflow.com/questions/43009527/
#          how-to-insert-an-image-in-a-canvas-item
# From: www.youtube.com/watch?v=uNDuHcnmJ4A
# ==================================================================

from tkinter import *
from PIL import Image

cwidth  = 800                  # canvas/image width
cheight = 300                  # canvas/image height
csave   = 'xyz.png'            # saved resized image

def ImageSize(title,img):

    w,h = img.size
    print('{} width={} height={}'.format(title,w,h))

    return (w,h)


def ScaleResizeImage(image):

    img = Image.open(image)

    w,h = ImageSize('original',img)

    # resize
    img.resize((cwidth,cheight)).save(csave)

    img.close()

    # display new image sizes
    f = csave
    img = Image.open(f)
    ImageSize(csave,img)
    img.close()

if __name__ == '__main__':

    root = Tk()

    ScaleResizeImage('ludlow.png')

    # create the canvas, size in pixels
    canvas = Canvas(width=cwidth, height=cheight, bg='black')

    # pack the canvas into a frame/form
    canvas.pack(expand=YES, fill=BOTH)

    # load an image file
    img = PhotoImage(file=csave)

    # put an image on the canvas
    canvas.create_image(0, 0, image=img, anchor=NW)

    # event loop

    root.mainloop()