0
<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 Matrix 2D 类和分解函数做了类似的事情来决定缩放、旋转、倾斜和平移(位移)。

我想做的是用画布在 HTML 5 中绘制 xfl 图片。

我在编程方面有点新,所以也许我的问题没有很好地表达!对于那个很抱歉。

4

1 回答 1

1

我已经研究了很长时间,但我还没有完全弄清楚。

这是一个在 XFL 文件中经常出现的典型转换矩阵,但我不知道它究竟转换了什么。我确实知道,如果你通过变换矩阵拉 [0,0] 并考虑层的局部变换空间(即减去变换点),你会得到渐变的中心。

但是,如果我变换 [0,1]、[1,0] 或 [1,1],则结果与 [0,0] 几乎没有区别,因为变换矩阵中的值总是非常小。不过,似乎 [1,0] 至少指向正确的方向。如果我将 [1000,0] 放入其中,我将得到大约 1/2 的整个渐变长度。

因此,仅基于视觉,我会说渐变将从 [-1000,0] 到 [1000,0]。但这只是一个经验估计。如果有人有更好的估计,或者可能是他们这样做的原因,我很想知道。

于 2012-04-26T09:26:21.933 回答