1. 程式人生 > >Python圖形程式程式設計探索系列-04-網上圖片與標籤元件的結合

Python圖形程式程式設計探索系列-04-網上圖片與標籤元件的結合

跳轉到自己的部落格


任務設定

任務:從網上找到一張圖片,然後將其顯示在標籤上?
網上圖片網站:http://pic.58pic.com/58pic/17/56/38/52w58PICtER_1024.jpg
效果

解決方案

第一步驟:利用簡單的爬蟲程式碼,將網上的圖片下載下來,以備使用
第二步驟:建立圖形介面視窗,將獲取的圖片放到標籤上,完成上圖效果

Code分析

# 使用到的相關庫
import urllib.request
from PIL import Image, ImageTk
import tkinter as tk
# -------------獲取圖片----------
url = "http://pic.58pic.com/58pic/17/56/38/52w58PICtER_1024.jpg" # 圖片連結
require = urllib.request.Request(url)
response = urllib.request.urlopen(require)
photo = response.read()
# 將圖片photo寫入到picture.jpg中的程式碼如下:
with open(r'picture.jpg', 'wb') as f:
    f.write(photo)
    f.close()

# -------------放置圖片----------
root = tk.Tk()
strx = "從網際網路上獲取圖片放置到圖形介面視窗上"
root.title(strx)
pic = Image.open('picture.jpg')
pic = ImageTk.PhotoImage(pic)
create_label = tk.Label(root,  text=strx, image=pic, compound=tk.TOP).pack()
root.mainloop()

效果

反思與感想

嘗試了多種格式的照片,發現tkinter支援.gif, .png, .bmp等少數格式,.jpg不支援,所以需要如下處理方案

from PIL import Image, ImageTk
pic = Image.open('picture.jpg')
pic = ImageTk.PhotoImage(pic)

生活中要敢於想與做,從一個知識點做起,分享出來,時間久了,就會匯聚大海。