首页 > 解决方案 > 从脚本中将图像添加到 python GUI

问题描述

import base64
from tkinter import *
from PIL import ImageTk,Image

imgstring="/9j/4AAQSkZJRgABAQEASABIAAD/4QCMRXhpZgAASUAADADEBFAH/2Q=="
imgdata = base64.b64decode(imgstring)

imgfinal = open('here.jpg','wb')
imgfinal.write(imgdata)


root=Tk()
img = ImageTk.PhotoImage(Image.open(imgdata)) #This Doesn't work for me !
panel = Label(root,image=img)
panel.pack()
root.mainloop()

我想要做的是从 python 脚本本身向 gui 添加图像。
imgstring 变量是实际图像代码的缩短版本。
“here.jpg”文件是用于确保代码实际将 imgdata 字节转换为图像的测试。

编辑:-如何将图像从其字符串添加到标签?
- 我应该如何将“img = ImageTk.PhotoImage..”行更改为?

标签: python-3.xtkinterbase64

解决方案


TkinterPhotoImage()接受 base64 字符串作为输入:

from tkinter import *

root=Tk()
imgstring = "/9j/4AAQSkZJRgABAQEASABIAAD/4QCMRXhpZgAASUAADADEBFAH/2Q=="
img = PhotoImage(data=imgstring)
panel = Label(root,image=img)
panel.pack()

root.mainloop()

推荐阅读