python - 如何将base64字符串解码为其原始图像并打开它而不保存它
问题描述
所以我现在有这个基本代码。
import base64
with open("test.png", "rb") as image_file:
encoded_string = base64.b64encode(image_file.read())
并且它将图像转换为一个疯狂的长字符串,我这样做是希望复制该字符串并使其成为我正在制作的另一个脚本中的变量。我不想将它保存到计算机或任何东西上,我只想将它解码并为 GUI 背景打开。我正在努力做到这一点,所以只需要 exe 而不需要其他任何东西。
我发现了其他问题,但遗憾的是我不能很好地理解答案。所以如果可能的话,最简单的方法会更受欢迎,谢谢!
编辑:链接的可能重复是公平的,但它没有回答我的问题,因为正如我所说,我不明白他们做了什么,为什么它会这样工作。如果我完全理解它,我认为它存储图像路径而不是 exe 中的实际图像。我希望能够获取 exe 文件,并且只能在闪存驱动器上使用它。
解决方案
您可以将其打印encoded_string
到控制台,从那里复制并将其粘贴到您的代码中。将encoded_string
看起来像:
'R0lGODlhUABFAHAAA ... Qiq0Z1q2XN6oYYoQIBAQA7'
在像这个例子这样的代码中使用它:
import tkinter as tk
image_string = 'R0lGODlhUABFAHAAA ... Qiq0Z1q2XN6oYYoQIBAQA7'
root = tk.Tk()
imgFrame = tk.Frame(root)
imgFrame.pack()
img = tk.PhotoImage(data=image_string)
imgLabel = tk.Label(imgFrame, image=img)
imgLabel.pack()
推荐阅读
- amazon-web-services - 可以创建策略并将策略共享给多个帐户的角色
- github - 如何在作业之间重用环境?
- python - 更改 Tkinter 窗口
- javascript - 你如何改变类构造函数的初始值?
- javascript - Vue2 - 使用生成的引用名称访问组件的方法
- python - 有什么方法可以将表格列表与数据透视表格式匹配?
- object-detection - yolov4使用的完整损失函数是什么?
- django - 如何在 ModelViewSet 中检查用户权限
- javascript - Javascript变量的混淆范围
- alsa - 使用 alsa 插件拆分多声道轨道