题
我正在寻找创造 favicon.ico
从Python以编程方式读取文件,但PIL仅支持读取 ico
文件。
其他提示
您可以使用 枕头:
from PIL import Image
filename = r'logo.png'
img = Image.open(filename)
img.save('logo.ico')
或者,您可以指定所需的图标大小:
icon_sizes = [(16,16), (32, 32), (48, 48), (64,64)]
img.save('logo.ico', sizes=icon_sizes)
这 枕头文档 说默认情况下它会生成尺寸[(16, 16), (24, 24), (32, 32), (48, 48), (64, 64), (128, 128), (255, 255)]
任何大于原始大小或 255 的大小都将被忽略。
是的,它是在 只读 文档部分,但它在某种程度上有效。
也许以下方法会起作用:
- 使用 PIL 生成图标图像
- 使用 ImageMagick 的 python 接口将图像转换为 .ico 格式, PythonMagick
我没有尝试过这种方法。ImageMagick Convert 命令行程序能够将 .png 文件转换为 .ico 格式,因此至少 ImageMagick 支持 .ico 格式。
我不知道这是否适用于所有情况,但在 WinXP 上,.ico 可以是大小为 16x16、32x32 或 64x64 的 bmp。只需将扩展名从 bmp 更改为 ico 即可。
如果你有 图像处理, ,(可能是Python中读取/写入图像的最佳库),您可以使用它:
import imageio
img = imageio.imread('logo.png')
imageio.imwrite('logo.ico', img)
安装非常简单
pip install imageio
不隶属于 StackOverflow