龙空技术网

杨幂图片赏析:python-tkinter的图片显示方法小结

易三一世 259

前言:

眼前兄弟们对“加载图片函数的英文名称”都比较关切,大家都想要了解一些“加载图片函数的英文名称”的相关知识。那么小编在网络上收集了一些对于“加载图片函数的英文名称””的相关文章,希望小伙伴们能喜欢,姐妹们快快来了解一下吧!

1 说明:

=====

1.1 图片来自今日头条正版免费图库,向杨幂表示致谢和致敬!

1.2 利用美女图片的赏析和图片的操作,熟悉python-tkinter的图片显示方法,增加学习兴趣,代码和讲解详细,由浅入深,小白秒懂,值得收藏。

1.3 tkinter是python的自带的GUI,目前本机python3.8自带tkinter,与python2的tkinter可能使用上有一点不一样,请注意。

1.4 图片先赏析一下,8张图片。

1.jpeg

2.jpeg

3.jpeg

4.jpeg

5.jpeg

6.jpeg

7.jpeg

8.jpeg

2 tkinter本身图片显示方法

===================

2.1 只能显示png和gif格式的图片,将3.jpeg,截图为3.png,即可。

2.2 tk.Label法加载图片,代码:

import tkinter as tkroot = tk.Tk()#创建一个图片管理类#photo = tk.PhotoImage(file="/home/xgj/Desktop/tkinter-pic/3.jpeg")  #报错photo = tk.PhotoImage(file="/home/xgj/Desktop/tkinter-pic/3.png")  #可以#把图片整合到标签类中imgLabel = tk.Label(root,image=photo)#四种方位:top, bottom, left, or rightimgLabel.pack(side=tk.TOP)tk.mainloop()

2.3 canvas法:不是最佳的。

from tkinter import *tk = Tk()#创建一个图片管理类photo = PhotoImage(file="/home/xgj/Desktop/tkinter-pic/3.png")#画布大小设置canvas = Canvas(tk,width=2000, height= 2000)#canvas = Canvas(tk)  #默认画布大小不大,显示不全#加载到canvas上,x和y是坐标点,是图片中心点的坐标点#是图片长宽的一半canvas.create_image(500,500,image = photo) canvas.pack()tk.mainloop()

3 读取任意格式的图片

================

3.1 采用PIL库来实现

3.2 读取1.jpeg,效果图

3.3 代码,采用PIL库法和tk.Label标签法显示图片是最佳选择!

import tkinter as tkfrom PIL import Image, ImageTkroot = tk.Tk()#用PIL图片管理器读取和管理图片,可读取任意格式的图片image = Image.open("/home/xgj/Desktop/tkinter-pic/pic/1.jpeg")photo = ImageTk.PhotoImage(image)#把图片整合到标签类中imgLabel = tk.Label(root,image=photo)#四种方位:top, bottom, left, or rightimgLabel.pack(side=tk.TOP)tk.mainloop()

4 高级一点:

========

4.1 canvas图片显示并图片移动,现将图片大小修改为200和200,代码采用PIL法,此处省略。

4.2 效果图

4.3 代码:

#第1步:导入模块from tkinter import *#第2步:窗口相关设置#窗口初始化tk = Tk()#设置窗口的大小宽x高+偏移量(x和y坐标点)tk.geometry('1000x1000+500+200')#设置窗口标题tk.title('杨幂图片赏析')#第3步:读取图片和画布显示#创建一个图片管理类,将图片设置小一点200×200photo = PhotoImage(file="/home/xgj/Desktop/tkinter-pic/33.png")#画布大小和背景颜色设置canvas = Canvas(tk,width=1000, height= 1000,bg='black')canvas.create_image(100,100,image = photo)  canvas.pack()#第4步:定义图片移动函数#上下左右方向键def picMove(event):    if event.keysym == 'Left':        canvas.move(1,-5,0)    if event.keysym == 'Right':        canvas.move(1,5,0)    if event.keysym == 'Up':        canvas.move(1,0,-5)    if event.keysym == 'Down':        canvas.move(1,0,5)#第5步:方向键和功能绑定到画布上canvas.bind_all('<KeyPress-Left>',picMove)canvas.bind_all('<KeyPress-Right>',picMove)canvas.bind_all('<KeyPress-Up>',picMove)canvas.bind_all('<KeyPress-Down>',picMove)#第6步:tk循环挂起tk.mainloop()

5 再高级一点:

===========

5.1 8张图片动态切换,pic文件夹,里面1~8.jpeg图片

5.2 效果图:

5.3 代码

#第1步:导入模块from tkinter import *from PIL import Image,ImageTk#第2步:窗口初始化root=Tk()#设置窗口的大小宽x高+偏移量(x和y坐标点)#root.geometry('1000x1000+500+200') #如果这个不设置,窗口大小就随图片大小自适应#来高级一点,仅仅设置窗口的位置,大小不设置root.geometry('+500+200') #设置窗口标题root.title('杨幂图片动态赏析')#第3步:读取图片IMG=[]#8张图加1for i in range(1,9):    im=Image.open('/home/xgj/Desktop/tkinter-pic/pic/'+str(i)+'.jpeg')    img=ImageTk.PhotoImage(im)    IMG.append(img)#第4步:将图片显示在label标签上counter=0label=Label(root,image=IMG[counter])label.grid(row=1)#第5步:图片更改函数def chimg():    global label    global counter    #8张图减1    if counter<7:        counter+=1    else:        counter=0    label.destroy()    label=Label(root,image=IMG[counter])    label.grid(row=1)#第6步:按钮设置和功能调用Button(root,text='换图',width = 15, height = 2,bg='pink',command=chimg).grid(row=0)mainloop()

6 自动图片定时切换

===============

6.1 效果图

6.2 代码:

#coding=utf-8#导入模块from tkinter import *#初始化Tktop = Tk()#标题名top.title('定时更换图片')#仅仅设置窗口的位置,大小不设置top.geometry('+500+200') #注意png格式,自身图片管理器读取图片,格式png和gifimg1 = PhotoImage(file='/home/xgj/Desktop/tkinter-pic/pic/1.png')img2 = PhotoImage(file='/home/xgj/Desktop/tkinter-pic/pic/2.png')img3 = PhotoImage(file='/home/xgj/Desktop/tkinter-pic/pic/3.png')img4 = PhotoImage(file='/home/xgj/Desktop/tkinter-pic/pic/4.png')#初始化ii = 1#图片切换时间1000ms(1秒)chtime=1000#图片切换函数定义def changeImage(i):    #python %取余数    if i % 3 == 1:        label.configure(image = img1)        i = i + 1        label.after(chtime,changeImage,i)    elif i % 3 == 2:        label.configure(image=img2)        i = i + 1        label.after(chtime, changeImage,i)    else:        label.configure(image=img3)        i = i + 1        label.after(chtime, changeImage, i)#标签定义和初始化显示图片1label = Label(top, image=img1)#标签位置pack设置label.pack(fill=X,expand=1)#切换间隔时间,函数调用,ilabel.after(chtime,changeImage,i)#循环挂起top.mainloop()

超级齐全,分享处理。

标签: #加载图片函数的英文名称 #python tkinter图片 #python tkinter添加图片背景 #python tkinter添加图片