<LinearGradient>
<matrix>
<Matrix a="0.0262451171875" d="0.009765625" tx="218.45" ty="83"/>
</matrix>
<GradientEntry color="#E63426" ratio="0.00392156862745098"/>
<GradientEntry color="#CA271E" ratio="0.36078431372549"/>
<GradientEntry color="#B31D19" ratio="0.749019607843137"/>
<GradientEntry color="#AB1917" ratio="1"/>
</LinearGradient>
这是 xfl 文件的相关部分,需要使用 gradientEntry 用颜色填充形状。上面的矩阵值应该以某种方式帮助我获得开始和结束坐标对于渐变。有谁知道如何提取开始和结束坐标。不久前,我做了类似的事情,使用带有分解函数的EaselJS矩阵2D类来决定缩放,旋转,倾斜和平移(位移)。
我试图做的是用画布在HTML 5中绘制一张xfl图片。
我在编程方面有点新,所以也许我的问题不是那么好!对此感到抱歉。
我已经研究了很长时间,但我还没有完全弄清楚。
这是一个典型的转换矩阵,在 XFL 文件中发现了很多,但它到底转换了什么对我来说是未知的。我确实知道,如果您通过转换矩阵拉动 [0,0] 并考虑层的局部转换空间(即减去变形点),您将获得梯度的中心。
但是,如果我变换 [0,1]、[1,0] 或 [1,1],结果与 [0,0] 几乎没有区别,因为变换矩阵中的值总是非常小。不过,[1,0]似乎至少指向了正确的方向。如果我把[1000,0]放进去,我得到大约整个梯度长度的1/2。
因此,仅根据视觉,我会说梯度将从[-1000,0]到[1000,0]。但这只是一个经验估计。如果有人有更好的估计,或者他们这样做的原因,我很想知道。