Jak uczynić szerokość obrysu odporną na bieżącą macierz transformacji
W SVG (i Canvas, Quartz, Postscript, ...) macierz transformacji wpływa zarówno na współrzędne ścieżki, jak i na szerokość linii. Czy istnieje sposób na dostosowanie, aby nie wpływać na szerokość linii? Oznacza to, że w poniższym przykładzie skala jest różna dla X i Y, co sprawia, że kwadrat jest prostokątem, który jest OK, ale także powoduje, że linie są szersze z dwóch stron.
<code> <g transform="rotate(30) scale(5,1) "> <rect x="10" y="10" width="20" height="20" stroke="blue" fill="none" stroke-width="2"/> </g> </code>
Widzę, że byłoby to przydatne w wielu przypadkach, ale czy istnieje sposób, aby się z tego wycofać? Przypuszczam, że chciałbym mieć osobne pióro TM lub być w stanie ustawić pióro jako elipsę, którą CTM przekształca w okrąg, ale nic takiego nie widzę.
Brakuje mi tego, myślę, że nie muszę mówić SVG o moim CTM i zamiast tego sam transformować współrzędne, co oznacza konwertowanie prymitywów takich jakrect
Do ichpath
odpowiedniki.