打包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 @   hyd666kkk  阅读(101)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
点击右上角即可分享
微信分享提示