Adding A Transparent Circle To An Image On Python With PIL
I have a python program that craetes a png file with a circle on it. Now I want this circle to be semi transparent, given an alpha value. Here is what I do: img_map = Image.new(so
Solution 1:
Instead of a 3-tuple RGB value, (255, 128, 10), pass a 4-tuple RGBA value:
canvas.ellipse((p_x - 5, p_y - 5, p_x + 5, p_y + 5),
fill=(255, 128, 10, 50))
For example,
import Image
import ImageDraw
img = Image.new('RGBA', size = (100, 100), color = (128, 128, 128, 255))
canvas = ImageDraw.Draw(img)
# Now I draw the circle:
p_x, p_y = 50, 50
canvas.ellipse((p_x - 5, p_y - 5, p_x + 5, p_y + 5), fill=(255, 128, 10, 50))
# now save and close
del canvas
img.save('/tmp/test.png', 'PNG')
Solution 2:
I used Image.composite(background, foreground, mask)
to mask a semi transparent circle on a foreground.
I followed the instructions from here: Merging background with transparent image in PIL
Thanks to @gareth-res
Post a Comment for "Adding A Transparent Circle To An Image On Python With PIL"