使用 Python 从网络获取图片并使用 Tkinter 显示,需要先导入 urllib.requestPIL 库,并使用 ImageTk 类将图片转换为 Tkinter 可识别的格式。

import urllib.request
from PIL import ImageTk, Image
import tkinter as tk
import io  # 添加 io 模块

# 获取图片
url = 'http://w.yuqi52.cn/img/1.png'
image_data = urllib.request.urlopen(url).read()
image = Image.open(io.BytesIO(image_data))

# 创建Tkinter窗口并显示图片
root = tk.Tk()
img = ImageTk.PhotoImage(image)
label = tk.Label(root, image=img)
label.pack()

root.mainloop()

代码中,io.BytesIO(image_data) 将图片数据转换为字节流,以便 Image.open() 函数可以读取它。

常见错误:

  • ImportError: No module named 'io': 这是因为 io 模块没有被导入。在代码开头添加 import io 即可解决。

注意:

  • 确保你已经安装了 urllibPIL 库。如果没有,请使用 pip install urllib3pip install pillow 命令安装。
  • url 变量替换为你要获取的图片的实际 URL 地址。
Python 使用 urllib.request 和 PIL 显示网络图片:完整代码及常见错误解决

原文地址: https://www.cveoy.top/t/topic/nz99 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录