2013-02-22 114 views
1

我一直在尋找相關的字符串天,卻找不到一個很好的答案對我來說。 我的問題是我如何繪製一個透明的紅色矩形頂部的藍色矩形。 這是我現在正在做的事情。透明效果蟒蛇圖片庫

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

你想整個矩形稍微透明或只是重疊部分? – ikanobori 2013-02-22 10:47:03

+0

我想整個紅色長方形稍微透明的,對不起的不明 – xiaozhu123 2013-02-22 10:49:25

+0

可能重複[你怎麼畫與Python透明多邊形?](http://stackoverflow.com/questions/359706/how-do-you-draw - 透明多邊形與蟒蛇) – chrisst 2014-08-25 19:00:08

回答

0

如果你只是做一個矩形fill的第四個參數是一個不透明度,其中0表示完全不透明。

+0

我第一次嘗試混合方法,這是工作!謝謝!但通過更改第四個參數(綠色與200,用50讀一個)沒有工作:( – xiaozhu123 2013-02-22 11:09:11

1

幾個很好的答案在another thread。 包括解釋說,如果你要使用的第四個參數,然後繪製對象必須是「RGBA」和底座圖像必須是「RGB」模式,這個工作。