閉じたパス(ポリゴン)の外側のすべてを埋める方法はありますか?
背景:いくつかの地図を海岸線でレンダリングしたいので、海を青い色で塗りつぶす必要がある場合があるので、この海岸線のポリゴンの外側をすべて青で塗りつぶすのが最も簡単で、私の状況では最も効率的だと思いました色。
前もって感謝します!
作図領域全体をカバーする長方形を海岸線パスに追加し、塗りつぶしルールをに設定できますcairo.FILL_RULE_EVEN_ODD
。この後の呼び出しfill()
は、元のパスの外側の領域を埋めます。(長方形の正しい方向を選択した場合は、塗りつぶしルールの設定をスキップできます。)
サーフェスのサイズの閉じたパスを作成してからソリッドパターンで塗りつぶすことができますが(単純な長方形の場合、塗りつぶしルールは重要ではありません)、コンテキストpaint()メソッドを使用する方が簡単です。現在のクリップ領域(最初はサーフェス全体に設定されています)。マップ/海岸線の境界を描画して背景の上に表示されるように塗りつぶす前に、これを行うことが重要です。
カイロの表面全体に大きな青い長方形を描き、その上に海岸線を描きますか?