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