SVG linear gradient http://elv1s.ru/files/svg/gradient-hue.png
这样做一个渐变的正确方法是什么?我试过this SVG:
<linearGradient id="hue" x1="0" y1="1" x2="0" y2="0"> <stop offset="0%" stop-color="#ff0000"/> <stop offset="17%" stop-color="#ffff00"/> <stop offset="34%" stop-color="#00ff00"/> <stop offset="50%" stop-color="#00ffff"/> <stop offset="66%" stop-color="#0000ff"/> <stop offset="82%" stop-color="#ff00ff"/> <stop offset="100%" stop-color="#ff0000"/> </linearGradient>
虽然有效,但还不够好:
SVG linear gradient http://elv1s.ru/files/svg/gradient-hue-reference.png
我可以看到这两个渐变之间的区别。有没有更好的方法呢?
答案 0 :(得分:1)
如果使用Javascript生成SVG是可以接受的,您可能需要查看:How to interpolate hue values in HSV colour space?
或者也许:
http://www.carto.net/papers/svg/gui/colourPicker/
编辑:其实这里有一个。这是正确的吗?
http://upload.wikimedia.org/wikipedia/commons/5/5d/HSV-RGB-comparison.svg
答案 1 :(得分:0)
<linearGradient
id="linearGradient3706">
<stop
style="stop-color:#ff1c1c;stop-opacity:1;"
offset="0"
id="stop3708" />
<stop
id="stop3728"
offset="0.16105497"
style="stop-color:#fd00ca;stop-opacity:1;" />
<stop
id="stop3724"
offset="0.35173747"
style="stop-color:#0202ff;stop-opacity:1;" />
<stop
id="stop3720"
offset="0.48789391"
style="stop-color:#02fff9;stop-opacity:1;" />
<stop
id="stop3718"
offset="0.70091939"
style="stop-color:#60ff18;stop-opacity:1;" />
<stop
id="stop3714"
offset="0.83720928"
style="stop-color:#ffef15;stop-opacity:1;" />
<stop
style="stop-color:#ff0000;stop-opacity:1;"
offset="1"
id="stop3710" />
</linearGradient>
适合我(使用inkscape制作)
答案 2 :(得分:0)
您是否尝试过在%中使用更高的精度?正如Josh所展示的那样,你可以有更低的精确度和更好的空间。