0

私は svg-edit の修正を行っており、ユーザーが要素を選択し、ボタンをクリックして新しい寸法を要求する関数を起動し、要素がサイズ変更された寸法にサイズ変更される関数を作成しました。

しかし、問題があります。寸法のサイズが変更されると、ストロークの幅も変更されることがあります。線が細く見えます。これを防ぐ方法はありますか?

これは私の機能です:

function changeDimensions() 

{

    svgNode = svgCanvas.getSelectedElems()[0];

    var transformw=prompt("Enter your new width");
    var transformh=prompt("Enter your new height");
    var lastw = svgNode.getBoundingClientRect().width;
    var lasth = svgNode.getBoundingClientRect().height;

    newW=transformw/lastw;
    newH=transformh/lasth;
    alert(newH);
    alert(newW);


    svgCanvas.changeSelectedAttribute("transform", "matrix(" + newW + ", 0, 0, " + newH + ", 0, 0)");


    svgCanvas.recalculateAllSelectedDimensions();



}
4

1 に答える 1

1

Opera、Webkit、Firefoxは、SVGの小さなvector-effects="non-scaling-stroke"を実装しています。私の知る限り、IEではサポートされていません。サポートする必要がある場合は、JavaScriptでストロークを手動で調整する必要があります。

于 2013-02-19T07:18:10.410 に答える