Python3用tkinter和PIL实现看图工具
发布时间:2020-12-16 21:08:30 所属栏目:Python 来源:网络整理
导读:需求 想做看图工具的,必然要支持jpg、png等常见格式,但tkinter是个纯粹的GUI库,不像GTK、QT那样大而全,所以只支持gif和ppm两种格式,局限很大,必须搭配图像处理库,才能实现基本的看图功能 在python生态系统里,最常用的图像处理库是PIL Python3下库的
需求 想做看图工具的,必然要支持jpg、png等常见格式,但tkinter是个纯粹的GUI库,不像GTK、QT那样大而全,所以只支持gif和ppm两种格式,局限很大,必须搭配图像处理库,才能实现基本的看图功能 Python3下库的安装 这两个库在python3下跟python2有一定差异: 技术原理 那么怎么让PIL读取jpg文件生成的内存对象被tkinter处理呢?PIL的开发人员很贴心的提供了一个PhotoImage类,跟tkinter包里的同名类接口兼容,所以可以直接将PIL生成的PhotoImage对象赋给tkinter中能接收PhotoImage入参的所有控件(比如Label、Canvas等) 代码示例 #encoding=utf-8 import tkinter as tk from PIL import Image,ImageTk class App(tk.Frame): def __init__(self,master=None): super().__init__(master,width=400,height=300) self.pack() self.pilImage = Image.open("CSDN.png") self.tkImage = ImageTk.PhotoImage(image=self.pilImage) self.label = tk.Label(self,image=self.tkImage) self.label.pack() def processEvent(self,event): pass if __name__ == '__main__': root = tk.Tk() app = App(root) root.mainloop() 最终显示效果 您可能感兴趣的文章:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |