镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

Add append_images support for ICO - #4568

Merged
radarhere merged 9 commits into
masterfrom
unknown repository
Dec 24, 2020
Merged

radarhere merged 9 commits into
masterfrom
unknown repository

Conversation

@ghost

@ghost ghost commented Apr 19, 2020

Copy link
Copy Markdown

This adds support for the append_images parameter when saving .ICO files. Its behavior is much the same as for .ICNS files, and can be used to provide alternative sprites for particular icon sizes instead of simply resizing the main image to fit that size.

@radarhere radarhere changed the title Add append_images support for ico Add append_images support for ICO Apr 20, 2020
Comment thread src/PIL/IcoImagePlugin.py Resolved
Co-Authored-By: Andrew Murray <3112309+radarhere@users.noreply.github.com>
Comment thread src/PIL/IcoImagePlugin.py Outdated
Comment on lines 55 to 56
alt_images = {im.size: im for im in im.encoderinfo.get("append_images", [])}
for size in sizes:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like if someone were to add an unusual sized image to append_images (e.g. (20,20)), it would not be saved unless it is added to the sizes parameter as well. I feel like this could be confusing behaviour. Perhaps adding sizes.extend(alt_images.keys()) would be a good idea (sizes would have to be changed to a set to avoid duplicates).

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is correct. I believe the ICNS saving currently suffers from the same issue. I don't know if it should be fixed for .ICOs; the documentation would need to mention the role of append_images either way, since if the behavior is changed as you suggest, it would then also save other sizes than the ones the user requested (via the sizes parameter).

@radarhere

Copy link
Copy Markdown
Member

I've created https://github.com/ziplantil/Pillow/pull/1 with some suggestions.

Comment thread Tests/test_file_ico.py Resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants