我有一个图像,我正在我的图形用户界面中使用,我不希望它作为一个外部资源,当我编译.exe或我的.py。 我想我应该把它编码成一个字符串,在代码中复制这个字符串,然后解码它并将它提供给Tkinter。尝试了一系列解决方案,但仍然无效,代码如下:
import tkinter as tk
from tkinter import filedialog
from tkinter import *
import PIL
from PIL import Image, ImageTk
import base64
stringimagine="something the print gave me"
imagine=open('logo.jpg','rb')
encoded=base64.b64encode(imagine.read())
print(encoded)
imagine2=base64.b64decode(stringimagine)
fereastra_principala = tk.Tk()
poza=Label(fereastra_principala,image=imagine2)
poza.pack(fill='both',expand='yes')
fereastra_principala.mainloop()
对于此代码,我收到以下错误:
^{pr2}$这就是我现在用来获取照片的外部资源:
img=Image.open('logo.jpg')
image=ImageTk.PhotoImage(img)
poza=Label(fereastra_principala,image=image)
poza.pack()
如果有base64编码的数据,则需要使用
data
参数。然而,我不认为这对jpg有效。但它对.gif图像有效。在这是canonical documentation对data选项的说明:
^{bq}$示例
有办法:
假设image='abc'是用b64编码的图像字符串。在
将在my main()函数中运行此函数,如果该图像不存在于文件夹中,则会创建它。后记,您只需正常加载图像:
^{pr2}$不过,我还没有找到一个完全不保存图像的解决方案。在
相关问题 更多 >
编程相关推荐