如何用Pillow从.ico文件提取最高色深的32x32图标并保存为PNG?
如何用Pillow从多尺寸多色深的ICO文件中提取最高色深的32x32图标?
我需要用Pillow处理一个包含多尺寸、多色深的ICO文件,目标是提取并保存其中32x32规格的图标——该尺寸下存在32-bit、8-bit和4-bit三种色深版本。
我原本的实现方式是用Image.open()打开文件,设置尺寸为(32,32)后保存为PNG,本以为能得到最高色深的32-bit版本,但实际导出的却是最低色深的4-bit图标。
可复现代码
from PIL import Image icon = Image.open("icon.ico") icon.size = (32, 32) icon.save("icon.png")
结果对比
- 预期:32x32规格的32-bit色深图标(色彩还原准确,带透明通道的高清版本)
- 实际:32x32规格的4-bit色深图标(色彩严重失真,过渡生硬的低质量版本)
测试用ICO文件包含上述三种色深的32x32图标。
请问有没有办法不用修改原ICO文件,让Pillow直接提取最高色深的32x32图标?
内容的提问来源于stack exchange,提问作者Valer
相关产品推荐
相关产品推荐

