PIL Gotcha maybe?

Robin Becker robin at jessikat.fsnet.co.uk
Wed May 2 11:50:48 EDT 2001


I'm trying to use PIL as a pixmap output of an image stored as a string
and get strange artefacts.

                if pil:
                    from PIL import Image
                    im = Image.new('RGB', size=(w, h))
                    im.fromstring(b)
                    f.write('PIL\n')
                    for i in xrange(h):
                        f.write('%6.6x: '% i );
                        for j in xrange(w):
                            v = im.getpixel((i,j))
                            f.write(' %2.2x%2.2x%2.2x'%v)
                        f.write('\n')
                    im.save(os.path.join(DIR,"test_renderPM_%03d.gif"%n),'GIF')

the test image in b is a 25 x 25 square with a green 0x008000 suqre inside. The
above fragment prints out

PIL
000000:  ffffff ffffff ffffff ffffff ffffff ffffff ffffff ffffff ffffff ffffff ...
000001:  ffffff ffffff ffffff ffffff ffffff ffffff ffffff ffffff ffffff ffffff ...
000002:  ffffff ffffff ffffff ffffff ffffff ffffff ffffff ffffff ffffff ffffff ...
000003:  ffffff ffffff ffffff ffffff ffffff ffffff ffffff ffffff ffffff ffffff ...
000004:  ffffff ffffff ffffff ffffff ffffff ffffff ffffff ffffff ffffff ffffff ...
000005:  ffffff ffffff ffffff ffffff ffffff 008000 008000 008000 008000 008000 ...
000006:  ffffff ffffff ffffff ffffff ffffff 008000 008000 008000 008000 008000 ...
000007:  ffffff ffffff ffffff ffffff ffffff 008000 008000 008000 008000 008000 ...
000008:  ffffff ffffff ffffff ffffff ffffff 008000 008000 008000 008000 008000 ...
000009:  ffffff ffffff ffffff ffffff ffffff 008000 008000 008000 008000 008000 ...
00000a:  ffffff ffffff ffffff ffffff ffffff 008000 008000 008000 008000 008000 ...
00000b:  ffffff ffffff ffffff ffffff ffffff 008000 008000 008000 008000 008000 ...
..................

so that the buffer has certainly got into PIL ok. However, the GIF made from the
image isn't quite right, the green square isn't a uniform colour.

see  http://www.reportlab.com/images/test_renderPM_002.gif

This is with imaging-1.1.1 compiled with vc++ 6 running under win2k with 2.0.

has anyone any idea what's going on here or seen something similar?
-- 
Robin Becker



More information about the Python-list mailing list