| Index: imageConversion.py |
| =================================================================== |
| --- a/imageConversion.py |
| +++ b/imageConversion.py |
| @@ -20,13 +20,14 @@ |
| return image.split()[image.getbands().index('A')] |
| # In order to generate an alpha channel for images using a palette, we |
| - # convert the image to grayscale+alpha. Initially, we created an alpha |
| - # channel by replacing opaque pixels with a high mark and transparent |
| + # convert the image to RGBA. It's important to use RGBA, not LA (grayscale+alpha), |
| + # since PIL can't reliably convert P to LA. Also initially, we created an |
| + # alpha channel by replacing opaque pixels with a high mark and transparent |
| # pixels with a low mark. However, it turned out that you can't rely on the |
| # value of Image.info['transparency'] since in some cases it might be an |
| # unparsed string instead an int indicating the value of transparent pixels. |
| if image.mode == 'P' and 'transparency' in image.info: |
| - return image.convert('LA').split()[1] |
| + return image.convert('RGBA').split()[4] |
| def load_image(path): |
| image = Image.open(path) |