2013-03-01 114 views
1

我对SVG的一些模式,我应用到我的RECT创建在SVG图形元素,代码是这样的使用拉斐尔

<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="100%" height="100%" style="position:absolute; top:0px; left:0px"> 
    <defs> 
    <rect id="unitsqr" fill="#DBDBDB" stroke="white" stroke-width="1px" x="0" y="0" width="12" height="12"/>  
    <pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse"> 
     <use xlink:href="#unitsqr" /> 
    </pattern> 
    </defs> 
    <rect fill="url(#grid)" x="0" y="0" width="100%" height="100%"/> 
</svg> 

我想要做一些动画拉斐尔还留着我的网格,我不知道如何在raphael中创建一个模式,并稍后将其用作填充。无论如何,有没有办法做到这一点?

回答

1

当你做Element.attr("fill", "http://example.com/example.png")如果使用了SVG后端,Raphaël会为你创建一个<模式>元素。但是在Raphaël中没有高级API支持来创建和操作图案填充。所以,无论你需要扩展Raphaël,还是你可以用普通的js来做,假设你不关心IE8及更低版本的VML后备。

0

正确的语法是

Element.attr("fill" , "url(http://exmaple.com/example.png)") ; 

你可以做时髦的东西像创建使用Raphael.path或Raphael.circle元素填充创建形如圆形或路径的图像轻松,设置填充到一个网址。