是否能够设置应用于折线的渐变背景的绝对位置?
例如,当我设置渐变时:
<filter id="black-glow">
<feColorMatrix type="matrix" values=
"0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 1 0" />
<feGaussianBlur stdDeviation="3" result="coloredBlur" />
<feMerge>
<feMergeNode in="coloredBlur" />
<feMergeNode in="SourceGraphic" />
</feMerge>
</filter>
到折线的中风:
<polyline points="50,350 ... 350,239" style="fill:none;" stroke="url(#grad1)" stroke-width="3" stroke-linecap="round" />
(折线有最大/最小位置点)
结果还可以:
但是,当折线平坦时:
绿色要高得多。由于这是彩色图表,我需要不断寻找背景,而不管折线的绘制方式。
答案 0 :(得分:4)
如果您希望在用户空间中应用渐变,那么可以通过这样表达渐变来实现:
<linearGradient id="grad1" gradientUnits="userSpaceOnUse" x1="0"
y1="350" x2="0" y2="220">
请参阅fiddle。
x1,y1,x2和y2中的值将相对于当前用户空间坐标系,因此如果使用百分比,它们将相对于最近的视口,而不是相对于使用渐变的形状的边界框。有关详细信息,请参阅svg specification。