質問
郡の境界線の地図を描いていると想像してください。各境界に1つずつポリゴンのセットが与えられ、各ポリゴンを描画します。
2つの郡が境界線を共有している場所では、境界線を2回描画するだけです。部分的な透明効果がなく、ソリッドペンを使用する場合、これは問題ありません。
ただし、マップでは、この種の境界線は通常一点鎖線で表示されます。この場合、次のような状況が発生する可能性があります。
2つの領域が境界線を共有しているダッシュパターン(通常は一点鎖線)がどのようにねじ込まれているかに注意してください。この場合、たまたま長い一点鎖線のパターンになりましたが、通常は偶然に見える通常の状態から実線の作成まで何でもできます。
マップレンダリングソフトウェアは、この種のアーティファクトの発生をどのように防ぐべきですか?
解決
アーティファクトは、境界線が2回描画されるためです。このようなアーティファクトを抑制しようとする代わりに、既にメモリに描画されているセグメントのリストを保持することにより、境界セクションを2回描画しないようにすることができます。 >
他のヒント
あなたのブラシパターンは、いくつかのピクセルを黒に着色し、いくつかのピクセルをそのままにします。ピクセルをそのままにする代わりに、ブラシパターンを設定して、これらのピクセルを白(または背景色)に色付けできますか?
もう1つの可能性は、郡の境界線を常に2回描画することです。1回は白一色で、もう1回は選択したブラシパターンで描画します。
境界線をセグメントに分割し、オーバーラップを削除すると思います。
これは、描画の問題ではなく、ほとんど幾何学的な問題です。
破線を使用する代わりに、次のように Zip-a-tone スタイルで実行できます:
Zip-a-toneは、このグラフィックアートのもので、基本的には粘着性のあるプラスチックのシートにドットの規則的な(印刷可能な)パターンがあります。使用するには、図面の上に大きなシートを置き、図面のジップトーンにしたい領域の周りを切り取り、不要な部分をはがします。
この画像では、幅が2ピクセルの線で、市松模様のパターンを交互に使用しました。すべての線はこのチェッカーボードパターンの1つの大きな(仮想)ブロックから描画されるため、ジョイントやオーバーラップエフェクトでの奇妙なアーティファクトについて心配する必要はありません。
角度のある線は少し注意が必要ですが、基本的には線の端がピクセルをカットしているように見えるため、完全な黒ではなく適切な階調で描画します、ピクセルはRGB(170、170、170)で描画されますが、適切なシェードで任意の角度をレンダリングできます)。
GDI +がテクスチャブラシを使用して簡単にこれを行うことができるかどうかはわかりませんが、多分。それ以外の場合は、カスタムコーディングする必要があります。灰色の実線だけでなくこの方法の利点は、背景の一部が透けて見えることです。
これは、私が本当に考えもしなかった興味深い質問です。唯一の本当の解決策は、複雑な図形全体を、どこにも重ならない一連の線またはパスとしてレンダリングすることだと思います。 GDI +がこのような状況を自動的に処理しないことは驚くことではありません。