打包exe带资源图片

1、图片编译

import base64

def pictopy(picture_names, py_name):
    """
    将图像文件转换为py文件
    :param picture_name:
    :return:
    """
    write_data = []
    for picture_name in picture_names:
        filename = picture_name.replace('.', '_')
        open_pic = open("%s" % picture_name, 'rb')
        b64str = base64.b64encode(open_pic.read())
        open_pic.close()
        # 注意这边b64str一定要加上.decode()
        write_data.append('%s = "%s"\n' % (filename, b64str.decode()))

    f = open('%s.py' % py_name, 'w+')
    for data in write_data:
        f.write(data)
    f.close()


if __name__ == '__main__':
    pics = ["2.png"]
    pictopy(pics, 'memory_pic')  # 将pics里面的图片写到 memory_pic.py 中
    print("ok")
 
2、打包代码中解译
img_data = base64.b64decode(mypng)
# 注意:如果是"data:image/jpg:base64,",那你保存的就要以png格式,如果是"data:image/png:base64,"那你保存的时候就以jpg格式。
with open('tmp.jpeg', 'wb') as f:
      f.write(img_data)
 
pic = tk.PhotoImage(file="tmp.jpeg")#这里使用了
bnr = tk.Label(frame3, image=pic)
bnr.pack(side="top")


# 开始窗口的事件循环
win.mainloop()
os.remove("tmp.jpeg")
 
3、到打包代码文件夹下打包
Pyinstaller -F -w -i chengzi.ico py_word.py
 
posted @ 2022-06-29 17:23  hyd666kkk  阅读(110)  评论(0)    收藏  举报