I'm not sure if this is possible or not, but can I use CSS/Jquery techniques to create a gradient mesh?
Something similar to this
我想随机生成这个网格,然后可能对其进行动画处理,所以我试图避免使用图像。我不确定这样的事情是否可能。
我在想也许创建几层单独的渐变,然后将它们全部分层到一个固定位置并更改它们的不透明度设置?
现在
几年前,我使用 SVG、HTML5 canvas 标签以及最近的 CSS3 渐变进行了类似的尝试。我认为目前没有一种自然的方法可以超越简单的线性或径向渐变。
问题是是否可以仅使用简单的线性和径向渐变(这是唯一可用的工具)来模拟网格渐变。
不幸的是,当您使用不透明度或 rgba 组合多个渐变时,不同渐变的颜色往往会以无用的方式组合,从而导致颜色褪色。避免这种情况需要能够在浏览器中将其渲染为单个复杂的渐变。
渐变的形状也有很大的限制——任意角度的线性渐变,以及径向对称的椭圆渐变。两者都不允许自由形状、不规则形状。可应用于生成图像的 2D 变换本质上也是相当规则的(缩放、倾斜等)。
将来
我所知道的在不久的将来最有前途的选择是 SVG 2.0 中对网格渐变的可能支持(也许还有扩散曲线)。如果这种情况确实发生并且最终得到浏览器的支持,那么选项应该会开始大大扩展。 HTML5 canvas 标签和 CSS3 可能很快就会出现。
正如 @vals 在下面的评论中指出的那样,WebGL 应该提供一些非常有前途的选项(对于使用 3D 上下文的 HTML5 画布标签)。
相关链接
- http://www.svgopen.org/2011/papers/18-Advanced_Gradients_for_SVG/ http://www.svgopen.org/2011/papers/18-Advanced_Gradients_for_SVG/
- http://w3-org.9356.n7.nabble.com/Diffusion-Curves-td146288.html http://w3-org.9356.n7.nabble.com/Diffusion-Curves-td146288.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)