我正在对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();
}
答案 0 :(得分:1)
Opera,Webkit和Firefox实现了SVG tiny vector-effects="non-scaling-stroke"。虽然据我所知,IE不支持它,但如果你需要支持,你需要在javascript中做一些手动调整笔画的东西。