キャンバスに 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 秒ごとに再描画されるためです。