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()

私が今得たのは、緑色の長方形の重なり部分を完全にカバーする読み取り長方形ですが、重なり部分を透明にして、赤い長方形の下に緑色の部分があり、重なり部分が別の色になることがわかります。

どんな助けでも大歓迎です!

4

2 に答える 2

1

別のスレッドにいくつかの良い答えがあります。4 番目の引数を使用する場合は、描画オブジェクトを「RGBA」にする必要があり、これを機能させるにはベース イメージを「RGB」モードにする必要があることを説明します。

于 2014-08-25T20:14:34.493 に答える
0

長方形を作成するだけの場合、4 番目の引数fillは不透明度で、0 は完全に不透明です。

于 2013-02-22T10:52:18.490 に答える