📜  tkinter 中的图像 - Python (1)

📅  最后修改于: 2023-12-03 15:20:38.339000             🧑  作者: Mango

Tkinter 中的图像

简介

Tkinter 是 Python 中常用的图形用户界面(GUI)库,在 Tkinter 中添加图像可以使界面更加生动。本文将介绍如何在 Tkinter 中加入图像以及相关的操作。

添加图像

在 Tkinter 中添加图像需要借助 PIL(Python Imaging Library)库,可以通过以下代码导入:

from PIL import Image, ImageTk

通过 ImageTk.PhotoImage 方法创建图片对象,并将其赋值给 Label 对象的 image 属性即可:

import tkinter as tk
from PIL import Image, ImageTk

root = tk.Tk()

im = Image.open('<image_path>')
photo = ImageTk.PhotoImage(im)

label = tk.Label(root, image=photo)
label.pack()

root.mainloop()

其中,<image_path> 是图像文件的路径。

图像操作

在 Tkinter 中,可以通过 Image 库的方法进行图像的处理和操作,例如缩放:

im = im.resize(size)

将图片放置在 Label 中时,可以设置其大小和位置:

label = tk.Label(root, image=photo, width=width, height=height, padx=padx, pady=pady)

其中,widthheight 分别代表 Label 的宽度和高度,padxpady 则是文本和 Label 边框的间距。

示例代码
import tkinter as tk
from PIL import Image, ImageTk

class App:
    def __init__(self, root):
        self.root = root
        self.root.title("Tkinter Image Example")
        
        im = Image.open('image.jpg')
        photo = ImageTk.PhotoImage(im)
        
        label = tk.Label(root, image=photo)
        label.pack(padx=5, pady=5)
        
        btn = tk.Button(root, text="Exit", command=self.exit)
        btn.pack(padx=5, pady=5)
    
    def run(self):
        self.root.mainloop()
    
    def exit(self):
        self.root.destroy()

if __name__ == '__main__':
    root = tk.Tk()
    app = App(root)
    app.run()
结语

通过本文的介绍,可以看出在 Tkinter 中添加图像并进行操作是非常简单的,希望本文能对您有所帮助。