7

クラスを使用せずに Android キャンバスで塗りつぶされた領域 (塗りつぶされたポリゴンなど) を描画する方法があるかどうか疑問に思っています。Pathcanvas.drawPath(...)

私がこれを使わずにやりたい理由Pathは、非常に大きなデータセットを描画する必要がcanvas.drawPath(...)あり、ハードウェアで高速化されていないため遅くなるためです。

ハードウェアアクセラレーションにより、使用時のパフォーマンスcanvas.drawLines(...)ははるかに優れていますが、このアプローチを使用して塗りつぶされたポリゴンを描画する方法が見つかりませんでした (線がすべて接続されている場合でも)。

を使用すると、呼び出してもpaint.setStyle(Style.FILL)ポリゴンが塗りつぶされませんでしたdrawLines(...)

Pathアプローチを使用せずに塗りつぶされたポリゴンを描画する方法はありますか?

または、を使用してパフォーマンスを向上させる他の方法はありますCanvasか?

4

2 に答える 2

0

おそらく次のようなことをする必要があります:

Paint red = new Paint();

red.setColor(android.graphics.Color.RED);
red.setStyle(Paint.Style.FILL);

ARGB の代わりに、この色をパスに使用します。パスの最後のポイントが最初のポイントで終わることを確認してください。これも理にかなっています。

于 2015-03-16T18:57:16.263 に答える
0

opengl ビューを見て、必要なすべての図面に使用することをお勧めします。間違いなくめちゃくちゃ速くなります。それでも、すべての描画コードを書き直す必要があります。

于 2015-03-10T10:47:34.820 に答える