如何将base64字符串解码为其原始图像并在不保存的情况下将其打开

时间:2018-06-28 17:56:55

标签: python image python-2.7 base64 exe

所以我现在有这个基本代码。

import base64
with open("test.png", "rb") as image_file:
    encoded_string = base64.b64encode(image_file.read())

并且它将图像转换为疯狂的长字符串,我正在执行此操作,希望将其复制并在我正在编写的另一个脚本中将其设置为变量。我不想将其保存到计算机或其他任何东西,我只是希望将其解码并为GUI背景打开。我试图做到这一点,因此只需要exe即可。

我发现了其他问题,但是很遗憾,我不太清楚答案。因此,如果可能的话,最简单的方法将是首选,谢谢!

编辑:被链接的可能重复项是公平的,但是它不能回答我的问题,因为正如我说的那样,我不明白他们做了什么,为什么这样做会如此。如果我完全理解它,我认为它存储的是图像路径,而不是exe中的实际图像。我希望能够将exe文件以及仅该文件保存在闪存驱动器上,并且可以运行。

1 个答案:

答案 0 :(得分:1)

您可以将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()