SVG (および Canvas、Quartz、Postscript など) では、変換マトリックスはパス座標と線幅の両方に影響します。線幅が変わらないように調整する方法はありますか?つまり、次の例では、X と Y でスケールが異なるため、正方形が長方形になり、これで問題ありませんが、2 つの辺で線が太くなります。
<g transform="rotate(30) scale(5,1) ">
<rect x="10" y="10" width="20" height="20"
stroke="blue" fill="none" stroke-width="2"/>
</g>
多くの場合に役立つことがわかりますが、オプトアウトする方法はありますか? 別のペン TM を用意するか、CTM が円に変換する楕円にペンを設定できるようにしたいと思いますが、そのようなものは見当たりません。
それが欠けているので、SVG に CTM を伝えるのではなく、自分で座標を変換する必要があると思います。つまり、プリミティブrect
をpath
同等のものに変換するということです。