Javascript svg getCTM()未获取准确的值

Javascript svg getCTM()未获取准确的值,javascript,svg,svg-edit,Javascript,Svg,Svg Edit,我正在为我的项目使用svg编辑,并根据我的需要修改svgedit.compiled.js,这里有一些问题,想要得到变换矩阵中所选元素的变换,我可以得到svg中所选元素的变换 如果元素为follow,则使用My code获取当前的转换 var my_selected= selectedElements[0].id; //alert(my_selected); var child_sel=$('#'+my_selected).children("g").attr('id'); var child_

我正在为我的项目使用
svg编辑
,并根据我的需要修改
svgedit.compiled.js
,这里有一些问题,想要得到
变换矩阵
中所选元素的
变换
,我可以得到svg中所选元素的
变换

如果元素为follow,则使用My code获取当前的
转换

var my_selected= selectedElements[0].id;
//alert(my_selected);
var child_sel=$('#'+my_selected).children("g").attr('id');

var child_each=$('#'+my_selected);
    //console.log(child_each);
    child_each.each(function () {
        var child_trans = $(this).attr('transform');
        /* dx_x = x - start_x;
        dy_x = y - start_y; */
        $(this).children('g').each(function() {
        if(this.id!='drag_drop') {
        var test_x = $(this).attr('transform');
        console.log(test_x);
        var ss=this.getCTM();
        console.log(ss);
        }
        });
    });
但是在
console.log上(test_x)我获取的值为
矩阵(0,0.722035,-0.51,0,15611776.524)
在下一行中,我通过使用
this.getCTM()
获得相同的元素
transform
,但它没有得到上一个值,而是得到了低于该值的值

rotation :  90
scaleX :    0.7220349907875061
scaleY :    0.5099999904632568
skewX :     90
skewY : 90
translateX :    4060
translateY :    2376.5234375

我做错了什么?这方面有什么线索吗?

我这里的内存已经用完了,但是当这些值被关闭的非常小的时候,那是因为边界。我认为这是因为getCTM没有考虑边界宽度,但变换矩阵考虑了边界宽度,反之亦然。如果存在getScreenCTM或element.clientX,请尝试


请创建一个小提琴演示问题以获得更多帮助。

对不起,我找不到您@RobertLongson什么是SVG元素,即您在上面调用的SVG文件。文件是
svgedit.compiled.js
SVG元素是
g
,这对我们大多数人来说毫无意义。请在问题后附上该问题的标记。