国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python3用tkinter和PIL實(shí)現(xiàn)看圖工具

2020-02-15 21:58:09
字體:
供稿:網(wǎng)友

需求

想做看圖工具的,必然要支持jpg、png等常見格式,但tkinter是個純粹的GUI庫,不像GTK、QT那樣大而全,所以只支持gif和ppm兩種格式,局限很大,必須搭配圖像處理庫,才能實(shí)現(xiàn)基本的看圖功能
在python生態(tài)系統(tǒng)里,最常用的圖像處理庫是PIL

Python3下庫的安裝

這兩個庫在python3下跟python2有一定差異:
tkinter首字母變成小寫
PIL官方還不支持Python3,但有個fork叫Pillow,可以替代官方并且接口保持不變,需要pip install Pillow安裝

技術(shù)原理

那么怎么讓PIL讀取jpg文件生成的內(nèi)存對象被tkinter處理呢?PIL的開發(fā)人員很貼心的提供了一個PhotoImage類,跟tkinter包里的同名類接口兼容,所以可以直接將PIL生成的PhotoImage對象賦給tkinter中能接收PhotoImage入?yún)⒌乃锌丶ū热鏛abel、Canvas等)

代碼示例

#encoding=utf-8import tkinter as tkfrom PIL import Image, ImageTkclass 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):    passif __name__ == '__main__':  root = tk.Tk()  app = App(root)  root.mainloop()

最終顯示效果

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 务川| 贡山| 万全县| 崇明县| 富源县| 宿松县| 和平区| 华安县| 佛坪县| 甘谷县| 玉龙| 阆中市| 通道| 万宁市| 广元市| 青海省| 灵川县| 汤阴县| 五莲县| 海宁市| 双辽市| 思茅市| 赣州市| 黑河市| 巴青县| 周宁县| 城口县| 沂南县| 德保县| 浑源县| 汉川市| 麻江县| 同仁县| 富顺县| 婺源县| 荔浦县| 灌云县| 苏尼特右旗| 乌海市| 广宗县| 巴楚县|