【发布时间】:2013-07-04 12:21:09
【问题描述】:
我想使用渐变创建流光溢彩效果。
在 css3 中,您可以让渐变从 top to bottom、bottom to top、left to right 或 right to left 移动,并且您可以使用多种颜色。但只针对一个方向。
我想通过计算每个区域的平均颜色或主色来组合图像的 4 个区域,然后使用渐变为图像创建背景。
我考虑过使用多重渐变,但是当您创建一个渐变 ac 和另一个 bd 并将两者都放在图片后面时,它看起来并不好。 (我标记了关键区域。)。
你有什么想法可以做到吗?
编辑:我不想像图片中那样混合渐变之间的颜色。我对所有颜色之间的平滑浮动感到满意。
EDIT2:我在这里上传了我的问题的演示:http://jsfiddle.net/HJtnG/
Edit3:我们知道这不能用 CSS3 来实现,但可以用 SVG 来实现。经过一番研究,我找到了这张照片:
所以我将使用图片中的彩色圆圈。
【问题讨论】:
-
这是一回事。您只能将颜色从中心更改为边框。你不能通过角度改变颜色,这可以解决我的问题...
-
这是个好主意,但我不认为它可以用 CSS 来完成。我要么使用图像,要么将渐变绘制到画布上并让画布渲染它。
-
把它画到画布上就可以了,你知道有什么js代码可以做到吗?
-
你可以考虑 svg。好久没做矢量图了,不过大家可以找一个简单的画弧度公式,完成一个360度的渲染。每个弧度可以从中心点的一种颜色和结束点的另一种颜色开始,以形成一种混合。唯一需要注意的是,您需要极高的分辨率来生成原件并将其保存到位图中。
标签: css svg gradient linear-gradients