Je voudrais pouvoir définir la largeur de trait d'un élément SVG pour qu'elle soit "consciente des pixels", c'est-à-dire toujours 1px de large quelles que soient les transformations de mise à l'échelle actuelles appliquées. Je suis conscient que cela peut être impossible, car le but de SVG est d'être indépendant des pixels.
Le contexte suit:
J'ai un élément SVG avec son jeu d'attributs viewBox et preserveAspectRatio. Ça ressemble à quelque chose comme ça
<svg version="1.1" baseProfile="full"
viewBox="-100 -100 200 200" preserveAspectRatio="xMidYMid meet"
xmlns="http://www.w3.org/2000/svg" >
</svg>
Cela signifie que lorsque je redimensionne cet élément, les formes réelles à l'intérieur sont mises à l'échelle en conséquence (jusqu'ici tout va bien).
Comme vous pouvez le voir, j'ai configuré la viewBox pour que l'origine soit au centre. Je voudrais dessiner un axe x et un axe y dans cet élément, ce que je fais ainsi:
<line x1="-1000" x2="1000" y1="0" y2="0" />
Encore une fois, cela fonctionne très bien. Dans l'idéal, cependant, cet axe n'aurait toujours qu'une largeur de 1 px. Je n'ai aucun intérêt à ce que les axes deviennent plus gros lorsque je redimensionne l'élément svg parent.
Alors suis-je foutu?