19

次のようなコードの SVG があります。

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="150px" height="150px" preserveAspectRatio="xMinYMin meet" viewBox="0 0 150 155" version="1.1" xmlns="http://www.w3.org/2000/svg">
    <g id="g11" transform="matrix(1.25,0,0,-1.25,-100.0791,954.14501)">
        <g id="g3186" transform="translate(6.3490095,-13.703287)">
            <path d="..."></path>
            <path d="..."></path>
            <path d="..."></path>
            <path d="..."></path>
        </g>
    </g>
</svg>

画像を生成する SVG の「元の」寸法は 300px x 310px です。画像全体を 50% 拡大したいとします。画像をスケーリングするさまざまな方法を試しましたが、元の画像を元のサイズの 50% の領域に単純にクリップまたは「トリミング」するのが最善の方法です。

preserveAspectRatio の使用、viewbox の設定、transform="scale(0.5") の使用などは機能しませんでした。私がやりたいのは、元の寸法を 50% 拡大することだけです。

4

2 に答える 2

28

transform="scale(0.5)"間違いなく動作するはずです。あなたはおそらく何か他のことをしているのでしょう。

g11別のもので包んでgみてtransform="scale(0.5)"、とを削除してpreserveAspectRatioくださいviewBox

于 2012-04-30T10:51:52.020 に答える