python - 如何使用枕头保存具有特定尺寸的 .ico 图像?
问题描述
我需要保存 x 和 y 尺寸的图像,我正在使用枕头这样做,问题是它保存在默认尺寸中,在我的情况下为 16x16,我尝试resize
像这样使用:
new_image = image.resize((40, 40))
但仍然是相同的结果,唯一的区别是在图像的预览中它变小了,但它仍然是 16x16,有人有想法吗?
image_byte = b"image_bytes"
b = base64.b64decode(image_byte)
image = Image.open(io.BytesIO(b))
new_image = image.resize((40, 40))
new_image.save(icon_path)
解决方案
根据评论中的讨论:
保存 ICO 文件时,您需要指定要保存的大小(因为ICO可以包含相同(或不同!)图像的多种大小和格式):
new_image.save('icon.ico', sizes=[(256, 256), (128, 128)])
如果您不需要 ICO 文件,只需使用例如 PNG(包含单一格式和大小):
new_image.save('icon.png')
推荐阅读
- amazon-web-services - 403 错误 请求不能被满足
- angular - 使用 Angular 模板,但没有 UI 设计的麻烦
- .net - 是否可以拦截 Selenium Web Driver 中的所有响应 http 代码?
- google-apps-script - 在我进行新部署后,Gmail 插件会抛出“缺少标识符的库(可能它已被删除,或者您没有读取权限?)”
- sql - SQL CASE 当值为零时,从另一行返回具有相同值的值
- ruby - 如何修改默认的 docker“rails server”命令以使用 https?
- c - 为什么这段代码在结构中包含冒号?
- sql-server - 多个主键连接2个表
- javascript - 在不牺牲性能的情况下使用反应路由器
- javascript - 使用 Cypress 测试重定向到新的超级域