下面是使用Snap.svg的Matrix.x(x,y)的示例,我正在尝试确定如何使用它。
在创建下面的Matrix变换(参见图片)并请求Matrix.x(50,50)之后,它返回315.47+的值。那值多少钱?

谢谢



    var SNPsvg = Snap("#mySVG");
     //---square, center(0,0)---
    var rect = SNPsvg.rect(-30,-30,60,60).attr({fill: 'blue' });

    var myMatrix = Snap.matrix();
    myMatrix.translate(200,100)
    myMatrix.scale(2,1.5)
    myMatrix.skew(30,45)
    myMatrix.rotate(30)
    rect.transform(myMatrix)

    var mX1=myMatrix.x(50,50)//--if add translate (50,50) ??---





javascript - Snap.svg:Matrix.x(x,y)提供了什么?-LMLPHP

最佳答案

由该矩阵转换后的x值!

通常,您将其与y一起使用,

var TransformedPt = {
  x: Matrix.x(x,y),
  y: Matrix.y(x,y),
}


但是,我将首先研究Snaps转换字符串,因为它们通常更容易使用。例如..

rect.transform('t200,200r30s2,3')


将转换矩形,平移200,200,旋转(围绕中心)30度,然后缩放x,y 2,3

它可以帮助您避免处理矩阵。另请参见here

关于javascript - Snap.svg:Matrix.x(x,y)提供了什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43206655/

10-17 02:15