Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Flash显示SVG渐变?_Flash_Svg_Linear Gradients_Gradient_Radial Gradients - Fatal编程技术网

使用Flash显示SVG渐变?

使用Flash显示SVG渐变?,flash,svg,linear-gradients,gradient,radial-gradients,Flash,Svg,Linear Gradients,Gradient,Radial Gradients,我正在使用AS3(Flash)来读取SVG文件,并显示它们。 问题在于正确显示线性/径向渐变。 以下是SVG中从红色到蓝色的简单线性渐变的示例 <linearGradient id="GRADIENT_1" gradientUnits="userSpaceOnUse" x1="107.3938" y1="515.5684" x2="105.2488" y2="428.8614&qu

我正在使用AS3(Flash)来读取SVG文件,并显示它们。 问题在于正确显示线性/径向渐变。

以下是SVG中从红色到蓝色的简单线性渐变的示例

<linearGradient id="GRADIENT_1" gradientUnits="userSpaceOnUse"
x1="107.3938" y1="515.5684" x2="105.2488" y2="428.8614"
gradientTransform="matrix(0.9988 0.0485 0.0485 -0.9988 0.8489 711.6634)">

    <stop  offset="0" style="stop-color:red"/>
    <stop  offset="1" style="stop-color:blue"/>

</linearGradient>

我已经能够从渐变(stop的样式)中读取颜色,并通过渐变(stop的偏移量)读取它们的间距

好的,现在我得到了一个很好的渐变,在它们之间有适当的颜色和空间,但是没有旋转或缩放,并且它的位置是关闭的

答案是输入Flash的梯度函数


方法1:使用提供的矩阵 SVG的似乎实际上是无用的,因为当您将矩阵输入Flash时,它会在形状上显示渐变拉伸,因此只有渐变的中心颜色可见,就像实心填充一样


方法2:使用2个梯度点生成矩阵
  • x1,y1标记可能是屏幕上渐变开始的点。
  • x2,y2标记可能是屏幕上渐变结束的点。
当我说“2个渐变点”时,我指的是x1、y1和x2、y2,它们主要告诉你渐变在形状上的什么位置开始和结束。

有一种方法可以创建一个用于渐变的矩阵,但是参数与SVG给我的非常不同。 它希望:

  • 宽度——此处使用两个渐变点之间的相对距离(X轴)
  • Height——此处使用了两个梯度点之间的相对距离(Y轴),但结果不正确——也尝试了此处使用两个梯度点之间的距离,但我不知道如何填充宽度
  • 旋转角度——使用了两个渐变点的角度(弧度),结果不正确
  • 平移x——尝试了第一个渐变点的x,也尝试了0,结果不正确
  • 平移y——尝试了第一个渐变点的y,也尝试了0,结果不正确
    我可以使用什么SVG数据为Flash生成渐变矩阵? (查看上面的SVG片段,这是我描述渐变的所有数据)

    SVG渲染引擎! 也许有一些答案可以帮助你

    如何使用2个渐变点绘制线性渐变
  • x1、y1和x2、y2屏幕坐标空间上绘制渐变的2个点
  • 使用SVG提供的变换矩阵对x1、y1和x2、y2点进行偏移
  • 从x1,y1到x2,y2绘制渐变
  • i、 e

    x1、y1、x2、y2表示 由 将当前用户坐标系用于元素 参考渐变(通过 “填充”或“笔划”属性) 使用渐变元素时的时间 引用,然后应用 由属性指定的转换 渐变变换。

    通过