Re: transparency in palette mode ( "P" ) images

Ivan Mincik <[email protected]>
Newsgroups gmane.comp.python.image
Message-ID <[email protected]>
On Tue, Oct 20, 2009 at 8:33 PM, Laura & Edward Cannon
<[email protected]> wrote:
> Hm.. you seem to be right. One thing you might do is im =
> Image.open("test.png").convert("RGBA") which seems to solve the
> transparency problem, at the expense of a slightly larger image file.

No, even if using convert("RGBA") I get incorrect result :(


> Looking closer I think that PIL seems to support only RGB palettes
> rather than RGBA palettes as does the PNG specification. Converting to
> RGBA would make editing work as expected, and would preserve all
> transparency information. If you just need to move/rename the image,
> try shutil.copy in the standard library.
> Edward
>
> On Tue, Oct 20, 2009 at 9:53 AM, Ivan Mincik <[email protected]> wrote:
>> On Tuesday 20 October 2009, you wrote:
>>> The problem seems to be that you set transparency=0 in your save.
>>> Leave it out ( im.save("out.png") ) and you should be fine.
>>
>> Many thanks for reply, but I think You are not right. If I save without 'transparency=0' I will loose my transparent background at all - it will be black.  With  'transparency=0' I loose only transparency of my drawing, backround is OK.
>> My test image is here: http://gista.sk/dl/test.png
>>
>>
>>> If you just need to change the name try shutil.copy in the standard library.
>>>
>>> On Mon, Oct 19, 2009 at 2:05 PM, Ivan Mincik <[email protected]> wrote:
>>> > Dear list,
>>> > I have PNG image in  palette mode, with 256 color palette. Every color
>>> > has different level of transparency.
>>> > For example:
>>> >  Color Table (RGB with 256 entries)
>>> >    0: 0,0,0,0
>>> >    1: 238,238,238,154
>>> >    2: 253,253,109,154
>>> >    3: 0,0,0,2
>>> >    4: 0,0,0,4
>>> >    5: 0,0,0,8
>>> >    6: 0,0,0,6
>>> >    7: 237,237,237,154
>>> >    8: 0,0,0,14
>>> >    9: 35,35,15,153
>>> >   10: 1,1,0,138
>>> >
>>> > I am trying just to open and save this image using PIL.
>>> > #!/usr/bin/python
>>> > import Image
>>> >
>>> > im = Image.open('test.png')
>>> > im.save('out.png', transparency=0 )
>>> >
>>> > After running this code, the resulting image is loosing transparency
>>> > information for each color and it is set to 255.
>>> >  Color Table (RGB with 256 entries)
>>> >    0: 0,0,0,0
>>> >    1: 238,238,238,255
>>> >    2: 253,253,109,255
>>> >    3: 0,0,0,255
>>> >    4: 0,0,0,255
>>> >    5: 0,0,0,255
>>> >    6: 0,0,0,255
>>> >    7: 237,237,237,255
>>> >    8: 0,0,0,255
>>> >    9: 35,35,15,255
>>> >   10: 1,1,0,255
>>> >
>>> > Is there any way how to save the image with exactly same palette as
>>> > original image ?
>>> >
>>> > For anybody wanting to look at this problem, You can download my test
>>> > image here:
>>> > http://gista.sk/dl/test.png
>>> >
>>> > Thanks,
>>> > Ivan
>>> > _______________________________________________
>>> > Image-SIG maillist  -  [email protected]
>>> > http://mail.python.org/mailman/listinfo/image-sig
>>> >
>>>
>>
>>
>>
>> --
>> Ivan Mincik
>> Gista s.r.o.
>>
>
_______________________________________________
Image-SIG maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/image-sig
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.