Quand tu convertis ton tracé vectoriel en png, l'image subit un échantillonnage en pixels. C'est-à-dire que la fonction continue (lisse) doit être transformée en fonction discontinue (selon N blocs posés côte à côte: les pixels), et pour donner l'illusion que l'image reste lisse, une distribution gaussienne est appliquée à chaque pas (blocs). Concrètement: plutôt que d'avoir des pixels qui sont soit gris, soit noirs, le filtre applique à chaque pixel un mélange d'une certaine quantité de gris avec une certaine quantité de noir.
Et pour chaque pixel cette distribution dépend de la surface couverte par ta fonction (ici, au niveau de tes cercles bleus on va dire que c'est la fonction d'une courbe).
Au niveau du rendu final: si le tracé de ta courbe tombe exactement entre deux pixels, alors pour simplifier on va dire que cet échantillonnage va automatiquement générer un pixel gris d'un côté, et un pixel noir de l'autre côté.
Tandis que si ta courbe tombe au milieu d'un pixel, alors ce pixel sera un mélange de gris et de noir.
C'est ça qui donne l'impression de flou (filtre gaussien). En théorie, dans l'intervalle délimité par les bords de chaque pixels tu as une infinité de position possible, donc une infinité de nuances de gris. Bien sûr, en pratique ton pixel peut être défini par "seulement" quelques millions de nuances de luminance, selon que la surface de chaque pixel est plus ou moins occupée par le gris de ton trait.
Alors comment mesurer ton tracé vectoriel pour vérifier sa conformité?
Non-seulement il faudrait que chaque trait gris ait exactement la même largeur, mais en plus il faut que
la longueur L qui sépare tes traits soit exactement égal à une valeur entière de N pixels posés côte à côte.
(1) Supposons que tu crées ton image vectorielle en HD avec des millions de pixels, et que la longueur L mesure précisément 1000 pixels: si tu décides de redimensionner ton tracé vectoriel pour le faire plus petit, et que l'image finale mesure les deux tiers de ton image HD, alors ça veut dire que que l'épaisseur des traits gris sera identique des deux côtés: 17*.666=11.33 pixels, tandis que la longueur L vaudra au final 666,6 pixels.
D'où la distribution de gris qui sera différente à droite et à gauche, ce qui peut faire une différence surtout perceptible dans les conditions limites de l'échantillonnage, à savoir au niveau de la tangente de ta courbe.
(2) Supposons maintenant que tu transformes ton image HD en .png avant de la redimensionner: cette fois il y a un ré-échantillonnage qui utilise également une distribution gaussienne pour répartir le gris de chaque pixel, et le résultat est tout aussi moche...
Alors quelle est la meilleure solution?
Dans le cas de la solution (1), quand on possède l'image source (ex: format .psd ou format .xcf), des calculateurs inclus dans le logiciel permettent de corriger automatiquement l'erreur due au redimensionnement. Tu ne le vois pas, mais ils sont là et ils peuvent modifier très légèrement ton tracé vectoriel pour éviter ce problème.
Dans le cas de la solution (2), quand on retouche une image déjà échantillonnée... Bah on est condamné à subir cette erreur: il n'y a pas d'autre solution que de recréer un tracé vectoriel.
C'est pour ça qu'on préfère toujours avoir l'image source à disposition
Et même si on dispose d'une image HD au départ, la longueur L ne sera pas forcément respectée, surtout si elle vaut déjà 1000.3 pixels par exemple
Conclusion:
- Si tu publies le fichier vectoriel on pourra utiliser ton fichier source et éviter ce problème, mais en contrepartie il faut que l'on ait tous un logiciel adapté, on qu'on en installe un. Tout le monde ne fait pas cet effort malheureusement.
- Si tu publies une image pixelisée (ex: .png): gare aux problèmes d'échantillonnage. Et surtout:
ne passe jamais pas une étape de ré-échantillonnage (ex: hébergeur qui redimensionne ton image...
). Publier en HD c'est une bonne solution, mais encore faut-il qu'ensuite les utilisateurs exigeants sachent qu'ils seront confrontés à ce problème, et qu'à chaque fois qu'ils redimensionneront ton image le rendu sera modifié.
Selon que l'image est réduite de 25% ou de 30%, la distribution peut changer du tout au tout, et parfois on a des imperfections visibles comme celle-ci.
Et bien entendu, si l'image que tu publie présente un défaut visible, ce défaut persistera quelque soit le redimensionnement final