可以将图像编码到Python脚本中吗?

5 投票
4 回答
10887 浏览
提问于 2025-04-16 04:09

有没有办法直接把图片写进程序里,而不是通过文件夹来引用它?

4 个回答

1

其实不需要把这个字符串进行base64编码,只要把它的repr(表示形式)直接粘贴到代码里就可以了。

5

试试 img2py 这个脚本。它是 wxpython 的一部分(可以在网上搜索看看能否单独下载)。

img2py.py -- 这个工具可以把图片转换成 PNG 格式,并把它嵌入到一个 Python 模块中,生成相应的代码,这样在程序运行时就可以加载这个图片。这样做的好处是,因为它是 Python 源代码,所以可以以 .pyc 格式交付,或者通过 freeze、py2exe 等工具“编译”成程序的一部分。

使用方法:

img2py.py [选项] 图片文件 Python 文件

9

你可以使用base64模块把数据嵌入到你的程序里。根据base64的文档

>>> import base64
>>> encoded = base64.b64encode('data to be encoded')
>>> encoded
'ZGF0YSB0byBiZSBlbmNvZGVk' 
>>> data = base64.b64decode(encoded)
>>> data
'data to be encoded'

利用这个功能,你可以把一张图片进行base64编码,然后把得到的字符串放到你的程序中。如果你想要得到原始的图片数据,只需要把那个字符串传给base64.b64decode就可以了。

撰写回答