Hello Members,

while playing around with PIL I went into a problem with alpha blending:

import Image
bg=Image.new("RGBA",(100,100),(255,0,0,0)) # background red, 100% transparent
bg.save("bg.png") # will be transparent
bg.save("bg.jpg") # will be red as alpha is removed
fg=Image.new("RGB",(100,100),"white")
fg.save("fg.png")
mask=Image.new("L",(100,100),0)
for x in range(100):
    for y in range(100):
        mask.putpixel((x,y),x*255/100) # gradient mask
mask.save("mask.png")
comp=bg.copy() # create copy (not required)
comp.paste(fg,(0,0),mask) # should blend from transparent to white
comp.save("comp.png") # but is tinted pink

Of course usually I don't use colored bg (this is only for visualization here). The effect will be also visible if colored images are pasted into a black bg with mask and then the saved image is viewed on top of a white bg (pasted image will have a dark halo).
Is this a library problem or am I doing something wrong?

Best Regards,
  Helge
_______________________________________________
Image-SIG maillist  -  Image-SIG@python.org
http://mail.python.org/mailman/listinfo/image-sig

Reply via email to