質問
閉じたパス(ポリゴン)以外のすべてを埋める方法はありますか?
背景:私は海岸線でいくつかの地図をレンダリングしたいのですが、時々海を青い色で満たす必要があるので、私はそれが最も簡単で、私の状況ではこの海岸線ポリゴンの外側のすべてを青で満たすのが最も効率的だと思いました色。
前もって感謝します!
解決
描画領域全体を海岸線の道に覆う長方形を追加して、塗りつぶしルールをに設定できます cairo.FILL_RULE_EVEN_ODD
. 。電話 fill()
これにより、元のパスの外側の領域が埋められます。 (長方形の正しい方向を選択した場合、塗りつぶしルールの設定をスキップできます。)
他のヒント
カイロの表面全体に大きな青い長方形を描き、その上に海岸線を描きますか?
あなたの間 たぶん......だろう 閉じたパスは表面のサイズを作成し、SolidPattern(単純な長方形の場合は塗りつぶしルールが関係ありません)で埋めます。現在のクリップ領域を埋めるContext Paint()メソッドを使用する方が簡単です(これは最初は表面全体に設定されています)。地図/海岸線の境界を描き、それらを埋める前にこれを行うことが重要です。
所属していません StackOverflow