如何使用ImageTk / PIL中的图像调整图像大小

时间:2020-05-29 09:09:05

标签: python python-3.x tkinter python-imaging-library

这是完整的代码

import tkinter as tk
from PIL import ImageTk, Image

def hide_screen():
    window.overrideredirect(0)
    window.iconify()

def screen_appear(event):
    window.overrideredirect(1)

def callback(event):
    window.geometry("+{0}+{1}".format(event.x_root,event.y_root))

window = tk.Tk()
window.geometry("400x200")
window.overrideredirect(True)

title_bar = tk.Frame(window, bg="#2c2c2c", bd=0)

title_bar_logo = ImageTk.PhotoImage(Image.open("title_bar_logo.png"))
title_bar_logo = ImageTk.resize((250, 250), Image.ANTIALIAS)
panel = tk.Label(title_bar, image=title_bar_logo)
label1 = tk.Label(title_bar, text="Title Bar", fg="gold2", bg="#2c2c2c", font="Times")
close_button = tk.Button(title_bar, text="X", bg="red", command=window.destroy, bd=0)
minimise_button = tk.Button(title_bar, text="-", bg="red", command=hide_screen, bd=0)

window2 = tk.Canvas(window, bg="#1b1b1b", highlightthickness=0)

title_bar.pack(fill="x")
panel.pack(side=tk.LEFT)
close_button.pack(side=tk.RIGHT)
minimise_button.pack(side=tk.RIGHT)
window2.pack(expand=1, fill="x")
label1.pack(anchor=tk.CENTER)

title_bar.bind("<Map>", screen_appear)
title_bar.bind("<B1-Motion>", callback)
window.mainloop()

这是图像线

title_bar_logo = ImageTk.PhotoImage(Image.open("title_bar_logo.png"))
title_bar_logo = ImageTk.resize((250, 250), Image.ANTIALIAS)
panel = tk.Label(title_bar, image=title_bar_logo)
panel.pack(side=tk.LEFT)

我尝试了很多事情,但是我无法使它正常工作 我真的希望你能为我找到答案

先谢谢您

1 个答案:

答案 0 :(得分:0)

我以它运行良好为例:

logo = Image.open("title_bar_logo.png")
logo = logo.resize((20,15), Image.ANTIALIAS)
title_bar_logo=ImageTk.PhotoImage(logo)

使用:

title_bar_logo

在您的代码中