我正在对 svg-edit 进行修改。我正在使用一个函数来根据用户输入的宽度和高度来使路径元素变大或变小。用户选择一个元素并单击一个按钮以启动该功能,该功能采用最后已知的宽度和高度测量值,然后向用户询问新的宽度和高度值。然后它创建一个除数,它用于在元素上创建一个 TRANSFORM MATRIX 操作,以使其与用户想要的一样大。
问题是在变换矩阵时,元素也会改变位置。
我希望当用户被要求提供宽度和高度时,也被要求提供画布上的 x,y 位置,然后将所选元素移动到该位置。
他们是重新定位 svg 元素的一种方式吗?
function changeDimensions()
{
svgNode = svgCanvas.getSelectedElems()[0];
var dims = Raphael.pathBBox(svgNode.getAttribute('d'));
lasth = parseInt(dims.height);
lastw= parseInt(dims.width);
var transformw=prompt("Enter your new width");
var transformh=prompt("Enter your new height");
newW=transformw/lastw;
newH=transformh/lasth;
svgCanvas.changeSelectedAttribute("transform", "matrix(" + newW + ", 0, 0, " + newH + ", 0, 0)"); svgCanvas.recalculateAllSelectedDimensions(); }