Looks like it might be a bug in the ImageDraw init function. If I change the 3rd line to:
ml = Image.new("RGB", (200,200), (0,0,0,0)) it works. Looking at the source of ImageDraw.py: blend = 0 if mode is None: mode = im.mode if mode != im.mode: if mode == "RGBA" and im.mode == "RGB": blend = 1 blend is set to 1, only if the modes are "RGBA" and "RGB". Shouldn't blending occur if I create an RGBA image and draw onto it? Or do I have to explicitly set a blend mode somewhere? -u On Wed, Dec 10, 2008 at 1:32 PM, Uttam M. Narsu <[EMAIL PROTECTED]> wrote: > Apologies if this is a dup, since I wasn't subscribed to the list. > I'm trying to draw using the experimental RGBA-on-RGB interface. I > can't seem to get it to work. My code is below: > > from PIL import Image, ImageDraw > > ml = Image.new("RGBA", (200,200)) > D = ImageDraw.Draw(ml, "RGBA") > > red = (0xff, 0x00, 0x00, 0xA9) > green = (0x00, 0xbf, 0x00, 0x83) > > D.polygon([(40, 40), (40, 100), (100, 100), (100, 40)], fill=red) > D.polygon([(20, 20), (20, 80), (80, 80), (80, 20)], fill=green) > ml.save("test.png", "PNG") > > Results in the attached image. The red polygon doesn't show through > beneath the green one. > > I'd appreciate any pointers on this. It seems fairly simple. > > I'm using python/py25-pil 1.1.6 installed through macports on leopard. Thanks. > > - > uman > _______________________________________________ Image-SIG maillist - Image-SIG@python.org http://mail.python.org/mailman/listinfo/image-sig