Skip to content

Commit

Permalink
Merge pull request python-pillow#7570 from radarhere/gif_optimize
Browse files Browse the repository at this point in the history
"optimize" default when saving GIF images
  • Loading branch information
hugovk authored Nov 25, 2023
2 parents 04a4d54 + f59b51f commit 7070fec
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 4 deletions.
9 changes: 6 additions & 3 deletions docs/handbook/image-file-formats.rst
Original file line number Diff line number Diff line change
Expand Up @@ -266,9 +266,12 @@ following options are available::
:py:class:`PIL.ImagePalette.ImagePalette` object.

**optimize**
If present and true, attempt to compress the palette by
eliminating unused colors. This is only useful if the palette can
be compressed to the next smaller power of 2 elements.
Whether to attempt to compress the palette by eliminating unused colors.
This is attempted by default, unless a palette is specified as an option or
as part of the first image's :py:attr:`~PIL.Image.Image.info` dictionary.

This is only useful if the palette can be compressed to the next smaller
power of 2 elements.

Note that if the image you are saving comes from an existing GIF, it may have
the following properties in its :py:attr:`~PIL.Image.Image.info` dictionary.
Expand Down
2 changes: 1 addition & 1 deletion src/PIL/GifImagePlugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -656,7 +656,7 @@ def _save(im, fp, filename, save_all=False):
palette = im.encoderinfo.get("palette", im.info.get("palette"))
else:
palette = None
im.encoderinfo["optimize"] = im.encoderinfo.get("optimize", True)
im.encoderinfo.setdefault("optimize", True)

if not save_all or not _write_multiple_frames(im, fp, palette):
_write_single_frame(im, fp, palette)
Expand Down

0 comments on commit 7070fec

Please sign in to comment.