本质上,我正在寻找一个PHP函数或方程式,该函数或方程式将输出SVG转换中使用的Matrix值.
我高低寻觅,可惜什么也没发现.
我很清楚Rotate()和scale函数(),但是这些并不是我所需要的.
我需要能够以度为单位旋转角度以及x / y比例数据,并以SVG转换格式矩阵(a,b,c,d,e,f)输出一系列值
理想情况下,我想在PHP中执行此操作,但是如上所述,标准数学方程式也将有所帮助.
希望有人可以指出正确的方向.
解决方法:
您可以通过将单个转换的矩阵相乘来计算值.看一下SVG specification来找到它们的定义:
rot(a) := matrix(cos(a), sin(a), -sin(a), cos(a), 0, 0)
scale(sx,sy) := matrix(sx, 0, 0, sy, 0, 0)
根据应应用转换的顺序(缩放之前的旋转与旋转之前的缩放),您将获得不同的矩阵:
rot(a)*scale(sx,sy) = matrix(sx*cos(a), sx*sin(a), -sy*sin(a), sy*cos(a), 0, 0)
scale(sx,sy)*rot(a) = matrix(sx*cos(a), sy*sin(a), -sx*sin(a), sy*cos(a), 0, 0)
标签:matrix,svg,php
来源: https://codeday.me/bug/20191201/2080457.html