【问题标题】:Raphael js get element's rotationRaphael js获取元素的旋转
【发布时间】:2013-05-05 01:28:47
【问题描述】:

有没有办法使用 raphaeljs 库获取元素旋转值?我确定有,但我在文档中的任何地方都找不到。我想它是这样的 .attr('rotation') 但这不起作用。

【问题讨论】:

    标签: get rotation raphael element


    【解决方案1】:

    使用Element.transform() 函数获取当前转换数据并进行设置。

    您可能已经知道element.transform(tstring) 设置变换数据,包括旋转。

    要从 Raphael 取回该数据,只需调用 element.transform() 而不使用任何参数:

    tstring = element.transform();`
    

    希望对您有所帮助。

    【讨论】:

    • 很酷,谢谢!旋转值嵌套在一个数组中,所以我这样做了: var rotation = element.transform()[0][1];
    【解决方案2】:

    我找到了四种获取 Raphaël 元素旋转值的方法:

    console.log(el.attr('transform')[0][1]);
    console.log(el.transform()[0][1]);
    console.log(el.matrix.split().rotate);
    console.log(el.matrix.toTransformString().split('r')[1]);
    

    具体输出因先前应用的转换而异。

    • 如果尚未应用任何转换,前两个将抛出“无法读取未定义的属性”错误,第二个将记录-0,第四个将记录undefined

    • 如果之前应用了 -90° 和 269.999°(含)之间的转换,则所有四个都记录该转换(尽管第三个将保留几位小数,第四个后面将是 @987654327 @)。

    • 如果应用了超出上述范围的先前转换,则前两个记录完成转换,后两个记录一个相对于 360° 且小于 360° 的值(同样,第三个将关闭几位小数,第四位后跟0,0)。

    • 1234563应用第一次旋转,而不是所有旋转的总和)。

    文档:

    http://raphaeljs.com/reference.html#Element.attr

    http://raphaeljs.com/reference.html#Element.transform

    http://raphaeljs.com/reference.html#Matrix.split

    【讨论】:

      猜你喜欢
      • 2012-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-04
      • 2012-09-04
      • 2011-12-28
      • 2013-07-07
      相关资源
      最近更新 更多