【发布时间】:2013-05-07 02:24:45
【问题描述】:
是否可以使用连续数学函数根据 x 和 y 坐标设置 SVG 元素的不透明度? Here, I have a 20% opacity blue rectangle,但不是让它 20% 不透明,我想使用函数 sin(x)/2+sin(y)/2 定义矩形在每个点的不透明度,其中 x 和 y 是矩形内每个点的坐标。
<svg>
<rect width="100" height="100" style="fill:rgb(0,0,255);stroke-width:1;stroke:rgb(0,0,0)" fill-opacity="0.2" />
</svg>
我尝试将不透明度设置为"Math.sin(x)/2+Math.sin(y)/2",但这不会产生预期的效果。如何将 SVG 多边形的不透明度设置为 x 和 y 坐标的函数?
【问题讨论】:
-
这在javascript中实现起来比较简单,你试过吗?
-
这在 Canvas 中会更好
-
@gongzhitaao 这个问题没有讨论使用连续函数来定义自定义渐变,所以它似乎与我的问题无关。
-
对不起,因为根据fill-opacity 的定义,我认为这是不可能的。渐变可能是我能想到的最接近的东西。