Python3下用tkinter和PIL实现简单的看图工具
2017-12-10 11:06
1196 查看
需求
想做看图工具的,必然要支持jpg、png等常见格式,但tkinter是个纯粹的GUI库,不像GTK、QT那样大而全,所以只支持gif和ppm两种格式,局限很大,必须搭配图像处理库,才能实现基本的看图功能在python生态系统里,最常用的图像处理库是PIL
Python3下库的安装
这两个库在python3下跟python2有一定差异:tkinter首字母变成小写
PIL官方还不支持Python3,但有个fork叫Pillow,可以替代官方并且接口保持不变,需要
pip install Pillow安装
技术原理
那么怎么让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()
最终显示效果
相关文章推荐
- Python3用tkinter和PIL实现看图工具
- Python3下用tkinter和PIL实现简单的显示图片
- 借助apktool.jar工具,使用python代码简化批量反编译apk安装包的简单实现
- Python基于tkinter模块实现的改名小工具示例
- python通过Tkinter库实现的一个简单的文本编辑器代码
- Python(15)python使用tkinter实现一个简单的压缩/解压程序
- 用python Tkinter编写简单的文件搜索工具
- python基于Tkinter库实现简单文本编辑器实例
- python的tkinter布局之简单的聊天窗口实现方法
- Python(17)python使用tkinter实现一个简单的CSGO幸运转盘抽奖游戏
- 用Tkinter + Python做的简单网络配置工具
- Python GUI Tkinter简单实现个性签名设计
- Python(16)python使用tkinter实现一个简单的计算器
- Python GUI--Tkinter简单实现个性签名设计
- python的tkinter布局之简单的聊天窗口实现方法
- 在Python3下使用tornado和SQLAlchemy实现一个简单的MVC网站
- 使用Python实现简单主机批量管理工具
- python3使用tkinter实现ui界面简单实例
- PythonTkinter 实现一个简单游戏
- python3使用tkinter实现ui界面简单实例