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>

これは、gradientEntry を使用して形状を色で塗りつぶす必要がある xfl ファイルの関連部分です。上記のマトリックス値は、グラデーションの開始座標と終了座標を取得するのに何らかの形で役立つと思われます。開始座標と終了座標を抽出する方法を知っている人はいますか? 少し前に、EaselJS Matrix 2D クラスを decompose 関数で使用して同様のことを行い、スケーリング、回転、傾斜、平行移動 (変位) を決定しました。

私がやろうとしているのは、キャンバスを使用して 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 に答える