Question

Imaginez que vous dessiniez une carte des frontières de comté. Vous recevez un ensemble de polygones, un pour chaque limite, et vous tracez chaque polygone.

Dans les endroits où deux comtés partagent une frontière, vous finissez par la dessiner deux fois. En l’absence d’effets de transparence partielle et avec un stylo plein, ce n’est pas un problème.

Mais sur les cartes, les bordures de ce type sont généralement indiquées par des lignes en pointillés. Dans ce cas, des situations telles que celle décrite ci-dessous peuvent se produire:

alt text

Remarquez comment le motif de tirets, qui est normalement un tiret, est bloqué là où les deux zones partagent une bordure. Dans ce cas, il s’est avéré qu’il s’agissait d’un motif long-dash, mais en général, il pouvait tout faire, qu’il s’agisse d’un aspect normal par hasard ou de la création d’une ligne continue.

Comment un logiciel de rendu de carte empêche-t-il / devrait-il empêcher de tels artefacts de se produire?

Était-ce utile?

La solution

Cet artefact est dû au fait que le morceau de bordure est tracé deux fois. Au lieu d'essayer de supprimer de tels artefacts, vous pouvez essayer de ne pas dessiner deux fois les sections de bordure en conservant une liste de segments déjà dessinés en mémoire. Si vous rencontrez un étirement déjà dessiné, vous ne le dessinez plus.

Autres conseils

Votre motif de pinceau colore certains pixels en noir et en laisse certains. Au lieu de laisser le pixel seul, pouvez-vous configurer votre motif de pinceau pour colorer ces pixels en blanc (ou quelle que soit la couleur de fond)?

Une autre possibilité est de toujours tracer deux fois les frontières de votre comté: une fois avec un motif blanc uni et une autre fois avec le motif de pinceau de votre choix.

Je suppose qu'ils cassent leurs lignes de bordure en segments, puis suppriment les chevauchements.

Ceci est principalement un problème géométrique, pas un problème de dessin.

Au lieu d'utiliser une ligne pointillée, vous pouvez le faire avec un style Zip-a-tone , comme ceci:

alt text

Zip-a-tone était ce genre d’art graphique qui était essentiellement une feuille de plastique collante avec un motif régulier (imprimable) de points dessus. Pour l'utiliser, placez une grande feuille sur votre dessin et découpez-la autour des zones de votre dessin que vous souhaitez convertir en zips, puis détachez les parties non souhaitées.

Pour cette image, je viens d’utiliser un motif en damier alternant les lignes de deux pixels de large. Toutes les lignes étant dessinées à partir d'un seul bloc (virtuel) de ce motif en damier, vous n'avez jamais à vous soucier d'artefacts étranges au niveau des articulations ni des effets de chevauchement.

Les lignes en angle sont un peu délicates, mais en gros, vous imaginez les bords de la ligne comme une coupe de pixels, et vous les tracez ainsi à la nuance de niveau appropriée au lieu du noir complet (dans le cas de la ligne à 45 degrés ici). , les pixels sont dessinés en RVB (170, 170, 170), mais tout angle peut être affiché avec les nuances appropriées.

Je ne sais pas si GDI + pourrait le faire facilement en utilisant les pinceaux texturés, mais peut-être. Sinon, vous devrez le personnaliser. L’avantage de cette méthode par rapport à des lignes grises continues serait que cela permettrait à l’arrière-plan de se voir.

C’est une question intéressante à laquelle je n’ai jamais vraiment pensé. Je pense que la seule solution réelle consiste à rendre la figure complexe dans son ensemble sous la forme d'une série de lignes ou de chemins qui ne se chevauchent nulle part. Je ne suis pas surpris que GDI + ne gère pas cette situation de manière automatique.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top