So machen Sie die Strichbreite immun gegen die aktuelle Transformationsmatrix

In SVG (und Canvas, Quartz, Postscript, ...) wirkt sich die Transformationsmatrix sowohl auf die Pfadkoordinaten als auch auf die Linienbreite aus. Gibt es eine Möglichkeit, eine Anpassung vorzunehmen, damit die Linienbreite nicht beeinträchtigt wird? Das heißt, im folgenden Beispiel ist die Skalierung für X und Y unterschiedlich, wodurch das Quadrat in ein Rechteck umgewandelt wird. Dies ist in Ordnung, aber es werden auch die Linien auf zwei Seiten breiter.

<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>

Ich kann sehen, dass dies in vielen Fällen nützlich wäre, aber gibt es eine Möglichkeit, dies zu deaktivieren? Ich würde gerne einen separaten Stift TM haben oder den Stift so einstellen, dass er eine Ellipse ist, die die Gemeinschaftsmarke in einen Kreis umwandelt, aber ich sehe so etwas nicht.

Mangels dessen denke ich, ich muss SVG nichts über meine CTM erzählen und stattdessen die Koordinaten selbst transformieren, was bedeutet, dass ich Primitive wie konvertiererect zu ihrenpath Äquivalente.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage