Search
 
SCRIPT & CODE EXAMPLE
 
CODE EXAMPLE FOR PYTHON

python resize image in tkinter

# How to resize an image in Tkinter to exactly half of the original size
from tkinter import *
from PIL import Image, ImageTk

# Function to resize an image
def resize_image():
    global img_info
    global img
    global c
    global new_width
    global new_height

    # They are int
    print("Width type: ", type(new_width), "Height type: ", type(new_height))

    # Divide the original width by 2
    resized_width = new_width / int(2)
    resized_height = new_height / int(2)

    # They are float
    print("Width type: ", type(resized_width), "Height type: ", type(resized_height))

    # Convert float to int
    resized_width = int(resized_width)
    resized_height = int(resized_height)

    # They are int
    print("Width type: ", type(resized_width), "Height type: ", type(resized_height))

    # Declare new size to the image
    img_info = img_info.resize((resized_width, resized_height), Image.ANTIALIAS)
    img = ImageTk.PhotoImage(img_info)
    c.create_image(0, 0, image=img, anchor=NW)

    # New size of image
    print("Size of image: " + str(resized_width) + "x" + str(resized_height))

# Setting up the window
root = Tk()

# Resize image button
Button(root, text='resize image', command=lambda:resize_image()).pack()

# Display image
img_info = Image.open("placeholder.jpg")
new_width, new_height = img_info.size

# Size of image
print("Size of image: " + str(new_width) + "x" + str(new_height))

c = Canvas(root, width=new_width, height=new_height, bg="black")
c.pack()

img = ImageTk.PhotoImage(Image.open(r"placeholder.jpg"))
c.create_image(2, 2, image=img, anchor=NW)

# Main loop
root.mainloop()
Source by stackoverflow.com #
 
PREVIOUS NEXT
Tagged: #python #resize #image #tkinter
ADD COMMENT
Topic
Name
4+2 =