[OSM-talk-fr] Cartes papiers (A3/A2) avec ajout données locales : suites logicielles et conseils
Philippe Verdy
verdy_p at wanadoo.fr
Dim 1 Mai 10:45:53 UTC 2016
De plus une autre propriété contrôle comment sont dessinés les pixels
individuels des traits : soit ce sont des pixels pleins (rendus "rapide" en
mode brouillon, soit le rendu des traits va utiliser des tachniques de
lissage (où la couleur du pixel est modifiée en jouant sur la transparence
avec le pixel déjà tracé en arrière-plan). Cela a une grande importance
pour mitiger largement l'effet "indésirable" des mitres pour des angles
très pointus, car ces mitres se fondent progressivemnt jusqu'à devenir
quasiment invisibles (selon la précision des couleurs ou niveaux de gris)
et correspondent mieux à leur réalité (alors que le rendu brouillon va
tracer des pixels pleins qui rendent cette mitre beaucoup trop visible et
en apparence trop longue)
Sur une impression, il n'y a pas de niveaux de gris ou de niveau de
lumlnosité des encres, juste des points d'encre très petits (mais dont la
taille peut varier en jet d'encre). à la place donc, le procédé
d'impression utilise ce qu'on appelle des "masques" pour proportionner les
tailles de points d'encre selon leur intensité (et selon la couleur du
papier si ce n'est pas du blanc, ainsi que selon les propriétés de
diffusion de l'encre sur ce support, qui tendent à produire des points
d'encre plus gros que ceux qui ont été projetés, et donc de changer
sensiblement les gammes possibles et la résolution maximale atteignable
physiquement).
Certaines imprimantes peuvent avoir plus que 4 couleurs d'encre (noir,
cyan, magenta, jauine classiquement) et inclure des encres pour des niveaux
intermédiaires (bleu, rouge, vert, orange, gris, voire même blanc pour
imprimer sur un support non blanc): les "masques" calculés sont alors
différents mais permettent d'augmenter la résolution apparente ainsi que la
gamme des couleurs. Les propriétés des encres jouent aussi (notamment les
encres liquides) selon leur capacité à produire des mélanges plutôt que de
se recouvrir de façon non transparente et donc dépendante de l'ordre
d'impression des masques de couleur.
Dans tous les cas, le rendu vectoriel est meilleur, à condition d'utiliser
une spécification vectorielle correcte et ne pas utiliser un rendu rapide
en mode "brouillon". Le rendu vectoriel a aussi l'avantage de préserver la
gamme colorimétrique oririginale (ce qui n'est pas le cas d'un rendu bitmap
qui est généralement fait sur une modèle colorimétrique additif "sRGB" qui
n'a rien à voir avec le modèle colorimétrique soustractif a l'impression.
La conversion de sRGB en CMYK par exemple nécessite de faire appel à une
fonction de "génération du noir" qui est dépendante du procédé d'impression.
De plus les bitmaps calculées en sRGB standard supposent une perception
équivalente des 3 couleurs de base formant les sous-pixels, avec un poids
égal entre ces trois nuances ; ce qui n'est pas le cas à l'impression, et
même sur des écrans proposant des géométries de pixel améliorées avec PLUS
de sous-pixels (et qui ne sont pas tous de taille égale comme sur les
écrans classiques). Une bitmap ne peut pas en tenir compte à moins de
savoir précisément comment se fait le rendu final des couleurs sur le
dispositif et les propriétés de gamme colorimétrique, ainsi que la
positions relative des sous-pixels. Dans une bitmap classique, tous les
pixels sont supposés former une grille rectangulaire unique ne possédant
aucun sous-pixel (chaque pixel étant entièrement couvert par la couleur
composée, ce qui n'est même jamais vrai sur les écrans et encore moins à
l'impression...) Quand on donne une résolution dans une bitmap c'est dans
le cadre de ce modèle théorique simpliste, mais cela ne correspond pas à la
résolution physique sur le support final.
Pour un rendu photographique d'une scène, l'approximation du modèle simple
à trois composantes est suffisante. Pour un rendu de texte ou de graphique,
c'est nettement plus compliqué si la bitmap a une résolution plus grossière
que ce que peut reproduire le support physique et que voit l'oeil humain (à
distance normale d'observation): on pallie ce problème en augmentant la
résolution sensiblement (l'oeil humain ne voit pratiquement plus aucun
détail à 300dpi... sauf pour la gamme des couleurs obtenues par les fameux
"masques" (aussi bien à l'écran qu'àl l'impression ou sur une image
projetée d'un transparent): la conception des masques est très spécifique
du dispositif final mais une bitmap classique n'a aucune information à ce
sujet, et en résultat le rendu est pas terrible si la bitmap n'a pas une
résolution supérerure à la résolution physique des sous-pixels ou des
tailles de bulles d'encres: les couleurs ont une gamme largement faussée,
tirant vers les couleurs foncées, avec une dominance trop forte des encres
noires et magenta au détriment de l'encre jaune.
Bref dans un rendu vectoriel (même en CSS pour SVG ou HTML, ou en
Postscript pour un PDF) il y a aussi des paramètres pour contrôler la gamme
colorimétrique, d'autres pour contrôler le type de masques à produire
(selon l'intention : photo ou graphique), d'autres pour contrpoler le
niveau de précision demandé (plus on veut de précision, plus les masques
calculés seront lourds en mémoire). Ca fait toute la différence.
Le 1 mai 2016 à 12:17, Philippe Verdy <verdy_p at wanadoo.fr> a écrit :
>
>
> Le 1 mai 2016 à 12:04, <osm.sanspourriel at spamgourmet.com> a écrit :
>
>> Concernant la possible piètre qualité d'un rendu vectoriel, je confirme.
>>
>> Quand j'ai fait des exports PDF depuis un GeoServer je me suis aperçu que
>> les angles des polygones étaient toujours pointus.
>>
>
> Ce n'est PAS DU TOUT un problème du rendu vetoriel, mais d'une mauvaise
> utilisation de SVG ou Postscript ou CSS ou similaire, qui fournit pourtant
> des propriétés pour contrôler la longueur maximale des "mitres"
> (max-miter-length), si le style mittre (mitter) est utilisé pour les
> jonctions (car les autres styles documentés sont de terminer les angles an
> arcs de cercle, ou avec un carré centré sur la pointe de chaque segment et
> la fermeture de l'angle par un triangle : max-miter-length controle
> l'extension maximale de la longueur de mitre selon un rapport proportionnel
> à la largeur des traits: si cette longueur est dépassée, la mitre est
> supprimée et remplacé par le style à deux carrés fermés par un triangle)
>
> Bref, informe-toi et va voir par exemple la documentation de CSS
> concernant les propriétés contrôlant le style de rendu des angles de
> polygones.
>
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.openstreetmap.org/pipermail/talk-fr/attachments/20160501/10168a2f/attachment.htm>
Plus d'informations sur la liste de diffusion Talk-fr