我一直在搜索相关字符串好几天,但找不到合适的答案。 我的问题是我如何在蓝色矩形的顶部绘制一个透明的红色矩形。 我现在就是这样做的。
im=Image.new('RGBA',(400,400),'white')
draw=ImageDraw.Draw(im)
draw.rectangle((100,100,200,200),fill=(0,255,0,0)) #big 100*100 green rectangle
draw.rectangle((80,80,130,130),fill=(255,0,0,0)) #small 50*50 red rectangle
im.show()
我现在得到的是读取矩形完全覆盖绿色部分的重叠部分,但我希望重叠部分是透明的,这样我可以在红色矩形下看到它是绿色部分,重叠部分将是另一种颜色。
任何帮助将不胜感激!
答案 0 :(得分:1)
another thread中的几个好答案。 包括解释如果你打算使用第四个参数,那么绘制对象需要是' RGBA'并且基本图像必须是' RGB'这种模式可以发挥作用。
答案 1 :(得分:0)
如果你只是做一个矩形,fill
中的第四个参数是不透明度,其中0是完全不透明的。