Skip to content

Cannot write JPG images anymore with Pillow 4.2 #9585

Closed

Description

Hi,
Due to issue python-pillow/Pillow#2609 , I cannot save anymore my Matplotlib graphs to JPG format (with the alpha layers merged together) since Conda upgraded Pillow to version 4.2. This used to work before:

self._fig.savefig(file_name, dpi=dpi, bbox_inches='tight', bbox_extra_artists=bbox_extra_artists, pad_inches=.4)
File "/path/to/Conda-linux-x64/lib/python2.7/site-packages/matplotlib/figure.py", line 1565, in savefig
self.canvas.print_figure(*args, **kwargs)
File "/path/to/Conda-linux-x64/lib/python2.7/site-packages/matplotlib/backend_bases.py", line 2232, in print_figure
**kwargs)
File "/path/to/Conda-linux-x64/lib/python2.7/site-packages/matplotlib/backends/backend_agg.py", line 583, in print_jpg
return image.save(filename_or_obj, format='jpeg', **options)
File "/path/to/Conda-linux-x64/lib/python2.7/site-packages/PIL/Image.py", line 1893, in save
save_handler(self, fp, filename)
File "/path/to/Conda-linux-x64/lib/python2.7/site-packages/PIL/JpegImagePlugin.py", line 604, in _save
raise IOError("cannot write mode %s as JPEG" % im.mode)
IOError: cannot write mode RGBA as JPEG

Downgrading to Pillow 4.1 (conda install pillow=4.1)makes this code work.
Is it possible to force the merge of the alpha channel before or when writing? Adding , transparent=False to savefig did not help.
I guess that feature python-pillow/Pillow#2663 will fix this problem.
Thanks.

Activity

  1. added this to the v2.1.1 milestone on Oct 26, 2017
  2. tacaswell commented on Oct 26, 2017

    @tacaswell
    Member

    What version of Matplotlib?

    Something like this went by recently....

  3. tacaswell commented on Oct 26, 2017

    @tacaswell
    Member
  4. tacaswell commented on Oct 26, 2017

    @tacaswell
    Member

    Can you try with 2.1?

  5. anntzer commented on Oct 26, 2017

    @anntzer
    Contributor

    this seems to have been fixed somewhere between 1.5.3 and 2.1

  6. tacaswell commented on Oct 26, 2017

    @tacaswell
    Member

    Fixed by #5324 which is included in 2.0

    @sebastienaubry Thanks for taking the time to report this. It should work if you update to at least 2.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions