1

私が理解しているように、スケーリングなどのsvg変換はsvgオブジェクト全体、つまりベクトルポイントだけでなく、線の太さと幅にも適用されます。つまり、`transform= "scale(10)" 操作は、この変換を行わない場合よりも線幅が 10 倍太くなることを意味します。

このような変換をパスの頂点のみに適用する方法はありますか? 一定のパス幅を維持したいと思います。

次の SVG ファイルがあるとします。

<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" xmlns="http://www.w3.org/2000/svg" >
<polygon transform="scale(10) translate(100,100)" style=" fill: rgba(255,255,255,0);  stroke: black; " points=" 100.0,0.0 49.99999999999997,86.60254037844388 -49.99999999999998,86.60254037844388 -100.0,1.2246467991473532E-14 -49.999999999999964,-86.60254037844388 49.999999999999936,-86.6025403784439 100.0,-2.4492935982947064E-14" />
</svg>
4

1 に答える 1

4

もちろん、vector-effect="non-scaling-stroke" を設定すると、Opera、Chrome、Safari、Firefox で動作します。ここに例があります。

于 2013-08-23T20:34:29.437 に答える