【问题标题】:How to get getBBox of a path after applying transform应用变换后如何获取路径的getBBox
【发布时间】:2015-12-20 06:09:44
【问题描述】:

我有这个svg 块,这个组可以拖动,所以每次拖动时变换矩阵都会改变

<g id="product_1240" transform="matrix(-0.5032,0.8642,-0.8642,-0.5032,80.0928,78.4287)" class="elements">
<path id="p1" d="m -25, -15 l 50,0 l 0,30 l -50,0 z" fill="#fc7f4c" stroke="#FC7F4C" vector-effect="non-scaling-stroke" style="opacity: 0.3;" class="elements" opacity="0.3"></path>
<path id="p2" d="m -20, -10 l 40,0 l 0,20 l -40,0 z" fill="#e5e5e5" stroke="#cccccc" vector-effect="non-scaling-stroke"></path>
</g>

我可以像这样得到元素product_1240getBBox()

console.log($('#product_1240')[0].getBBox());

这很好,但如果我这样做了

console.log($('#p1')[0].getBBox());

我得到了结果,但在整个拖动过程中它是静态的,因为没有转换到 p1,而只是转换到它的父级 g。我的问题是无论如何要在应用后获得元素 p1getBBox()其父级的变换矩阵g

【问题讨论】:

    标签: javascript svg drawing snap.svg translate-animation


    【解决方案1】:

    getTransformToElement() 可能就是你想要的。

    More usage of getTransformToElement

    一旦你有了变换,你就可以将它应用到每个 bbox 点来得到你变换的 bbox。

    【讨论】:

    猜你喜欢
    • 2011-09-25
    • 2012-11-10
    • 2018-06-13
    • 2011-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多