将图片保存为Base64编码的Python文件
import base64
def save_image_as_py(image_path, py_file_path, variable_name):
with open(image_path, 'rb') as image_file:
encoded_image = base64.b64encode(image_file.read()).decode('utf-8')
with open(py_file_path, 'w') as py_file:
py_file.write(f"{variable_name} = '{encoded_image}'")
# 调用保存图片为Base64编码的函数
image_path = 'path_to_image/image.png'
py_file_path = 'path_to_output/output.py'
variable_name = 'image_base64'
save_image_as_py(image_path, py_file_path, variable_name)
运行这段代码后,将会在指定的Python文件路径中创建一个新的文件,并将图片以Base64编码的形式保存到该文件中,可以通过导入这个Python文件并访问image_base64
变量来获取Base64编码的图片数据。
import tkinter
from output import image_base64
window = tkinter.Tk()
icon = tkinter.PhotoImage(data=image_base64)
window.iconphoto(True,icon)
window.mainloop()
使用PyInstaller打包对应tkinter程序,这样就可以避免出现打包后的程序因为找不到对应图片路径异常的问题