1

キャンバスに 3 つの四角形を描画しようとしています。
最初のものは緑色で、後ろに進んでいます。2 番目は赤で、緑の上にあります。3 番目はそれらの両方を通過しており、最初の 2 つの四角形を「カットスルー」する必要があります。このようなもの:

ここに画像の説明を入力

私は次のようなことをすべきだと思います:

     canvas.drawColor(red);
     canvas.drawRect(greenRect, paintGreen);
     canvas.drawRect(smallRect, paintWithSomePorterduff);
     canvas.drawRect(redRect, paintRed);
     canvas.drawRect(smallRect, paintWithSomePorterduff);

しかし、どの PorterDuffXfermode を使用するか、および 1 つの四角形だけを切り取り、それらすべてに穴を開けずにこれを取得する方法:

ここに画像の説明を入力

PS 異なるビットマップを作成して描画することはできません。これは、1 秒または 2 秒ごとに再描画されるためです。

4

1 に答える 1