python中利用tkinter和ImageTK进行圣诞快乐图片的显示

一、前言

python中使用tkinter加载“Merry Christmas“ 图片。

二、用python显示Merry Christmas图片

1. python中,tkinter中可以进行图形界面编程。tkinter库提供了各种控件,其中,可以使用PhotoImage和Label组合,进行“Merry Christmas“ 图片的显示,图片可以是jpg,jpeg,png,gif动图等。

2. tkinter是python中的自带的强大的图片编程(GUI)库,提供了常用的图形编程组件,使得python进行图形程序的设计和实现变得简洁。

3. 为了实现图片的显示,可以结合image和imagetk库来实现。

由于PhotoImage支持的图片格式有限,所以,通常,结合使用PILLOW库的ImageTk来实现图片相关功能。

三、效果图展示

效果图展示如下:

python中利用tkinter和ImageTK进行圣诞快乐图片的显示_第1张图片

 

四、实现步骤

基本组件的使用:

PILLOW库的ImageTk的使用:

如果没有安装PILLOW插件,请安装插件,使用 “pip install PILLOW”命令安装即可
生成PhotoImage对象:

from PIL import Image
 
from PIL import ImageTk
 
img = Image.open(filePath)
 
img = ImageTk.PhotoImage(img)

 python tkinter库与PILLOW库的ImageTk的综合使用:

1. 首先,预先准备需要展示的图片文件(jgp,jpeg,png,gif等);

2. 导入需要的python库:

import tkinter as tk
from PIL import Image, ImageTk

3. 通过python tkinter库进行图片的创建和加载:

    1)普通图片(jpg,jpeg,png)的加载:

    img = Image.open('./christmas1.jpeg')
    photo = ImageTk.PhotoImage(img)

    2)动图(gif)的加载:

    img = tk.PhotoImage(file = 'christmas2.gif')
    label_img = tk.Label(root, image = img)
    label_img.grid(row=1, column=0, pady=10)

4. 用label进行显示:

    label_img = tk.Label(root, image=photo)
    label_img.grid(row=1, column=0, pady=10)

5. mainloop的调用:

root.mainloop()

五、python代码:

下面,展示了整个python代码:

# -*- coding: utf-8 -*-
# gui_main.py 文件
import os
import sys
import tkinter as tk
from PIL import Image, ImageTk

def main():
    root = tk.Tk()
    root.title('Merry Christmas')
    #root.geometry("800x600+600+150")

    time_str = "M e r r y   C h r i s t m a s ( 2 0 2 2 )"
    lable1 = tk.Label(root,text=time_str)
    lable1.grid(row=0, column=0, pady=10)

    #普通图片的加载
    img = Image.open('./christmas1.jpeg')
    photo = ImageTk.PhotoImage(img)
    label_img = tk.Label(root, image=photo)
    label_img.grid(row=1, column=0, pady=10)

    #gif图片的加载
    # img = tk.PhotoImage(file = 'christmas2.gif')
    # label_img = tk.Label(root, image = img)
    # label_img.grid(row=1, column=0, pady=10)

    root.mainloop()

if __name__ == '__main__':
    main()
    

你可能感兴趣的:(Python学习笔记,python,tkinter,ImageTk,tkinter加载图片,python图片处理)