答えがあるかもしれません。
Picture クラスは、変更されない画像を保存し、キャンバスに書き込むために使用されます。
たとえば、それぞれがベジエ曲線の一部を持つ 4 つの異なる Picture オブジェクトを用意し、必要なときにそれらを書き込むことができます。
一部のコードは次のようになります。
Picture b1 = new Picture();
Canvas c1 = b1.beginRecording(500, height);
// draw
b1.endRecording();
Picture b2 = new Picture();
Canvas c2 = b2.beginRecording(500, height);
c2.translate(-500, 0);
// draw
b2.endRecording();
Picture b3 = new Picture();
Canvas c3 = b3.beginRecording(500, height);
c3.translate(-1000, 0);
// draw
b3.endRecording();
Picture b4; = new Picture();
Canvas c4 = b4.beginRecording(500, height);
c4.translate(-1500, 0);
// draw
b4.endRecording();
(if x < 500) {
// draw c1
}
...
おそらく、4 回ではなく 1 回だけ描画する方法がありますが、動作することがわかっているものを投稿しているだけです。キャンバスを分割する方法を見つけることができれば、一度描画するだけで済みます。