2010-03-20 224 views
4

您可以更改SVG内形状的颜色吗?目前我使用的是PNG,我必须在Photoshop中为每个不同的菜单手动创建,我想知道是否可以使整个过程变得动态。更改SVG颜色

回答

8

难道你不能只用 style="background-color: #------;"(或者 color:)?

编辑:我的错误,你需要的是填充,所以style="fill:#------;",它应该与任何形状。

+0

形状不是一个简单的矩形或圆形或类似的东西,请看这里:http://imgur.com/D9aFo.png - 我试图把蓝色变成红色或其他。 – Rick 2010-03-20 02:22:33

2

您可以使用色调旋转过滤器,或者您可以按照上面的建议修复颜色。也许更兼容改变颜色,你所需要的,但在任何情况下,这里的过滤器变种的例子:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 
    <filter id="h200" x="0" y="0" width="1" height="1"> 
    <feColorMatrix type="hueRotate" values="200"/> 
    </filter> 
    <image xlink:href="http://imgur.com/D9aFo.png" width="207" height="46" filter="url(#h200)"/> 
</svg> 

你可以看到它住here如果您使用支持SVG过滤器的浏览器,如Opera或Firefox。

2

@Brendan_Long是正确的,所有你需要的是路径对象上的样式标签。在这里看到一个演示:http://kemputing.com/demo/shapeDemoColour.svg

代码如下所示:

<path 
style="fill:#000080;" 
d="M 125.0,478.0 172.0,305.0 337.0,266.0 508.0,438.0 482.0,586.0 287.0,659.0 z" 
id="path2985"/> 

让符合图像,然后以编程方式更改连接到它的颜色的路径。你可能想使用像inkscape这样的工具来帮忙。