Merge pull request #2633 from olt/delete-rgb-transparency

Delete transparency info when img.convert'ing RGB/L to RGBA
This commit is contained in:
wiredfool 2017-08-31 15:08:52 +01:00 committed by GitHub
commit f4c56a7179
2 changed files with 7 additions and 1 deletions

View File

@ -884,8 +884,10 @@ class Image(object):
if self.mode in ('L', 'RGB') and mode == 'RGBA':
# Use transparent conversion to promote from transparent
# color to an alpha channel.
return self._new(self.im.convert_transparent(
new_im = self._new(self.im.convert_transparent(
mode, self.info['transparency']))
del(new_im.info['transparency'])
return new_im
elif self.mode in ('L', 'RGB', 'P') and mode in ('L', 'RGB', 'P'):
t = self.info['transparency']
if isinstance(t, bytes):

View File

@ -122,6 +122,10 @@ class TestImageConvert(PillowTestCase):
self.assertIn('transparency', p.info)
p.save(f)
p = im.convert('RGBA')
self.assertNotIn('transparency', p.info)
p.save(f)
p = self.assert_warning(
UserWarning,
lambda: im.convert('P', palette=Image.ADAPTIVE))