下面是使用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) ??---
最佳答案
由该矩阵转换后的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/