SVG对象可以同时具有填充颜色和填充图案吗?

SVG对象可以同时具有填充颜色和填充图案吗?,svg,png,transparency,raphael,fill,Svg,Png,Transparency,Raphael,Fill,我正在使用该库处理SVG。我可以将填充颜色应用于如下对象: circle.attr({fill: "#ff0000"}); 这也行得通(尽管拉斐尔文献中没有提到): 我能够使用透明PNG作为填充图案,并且透明效果与预期一样。svg对象是完全透明的,其中填充图案图像是透明的。但我想做的是同时指定填充图案图像和填充颜色,这样颜色就可以通过图案图像的透明位置显示出来——例如,类似于使用CSS的“背景”属性。SVG可以做到这一点吗?您可以定义一个模式,该模式有一个带填充的矩形,以及一个位于该矩形之上的

我正在使用该库处理SVG。我可以将填充颜色应用于如下对象:

circle.attr({fill: "#ff0000"});
这也行得通(尽管拉斐尔文献中没有提到):


我能够使用透明PNG作为填充图案,并且透明效果与预期一样。svg对象是完全透明的,其中填充图案图像是透明的。但我想做的是同时指定填充图案图像和填充颜色,这样颜色就可以通过图案图像的透明位置显示出来——例如,类似于使用CSS的“背景”属性。SVG可以做到这一点吗?

您可以定义一个模式,该模式有一个带填充的矩形,以及一个位于该矩形之上的png图像。然后将图案用作圆(或任何您想要的元素)的填充

这意味着走出Raphaël,或者扩展它来做你想做的事情。请注意,
({fill:“url(pattern.png)”})
所做的是创建一个pattern元素并附加一个指向给定url的image元素。很有可能对Raphaël进行黑客攻击,使您也可以传递颜色,然后在创建图案的代码中处理该问题,方法是创建与具有给定填充颜色的图像尺寸相同的矩形


我应该说,如果你想让它与伊特汉克斯合作,得到非常彻底的答案!你好@Erik我正在尝试将图像添加到模式标记的矩形顶部。但事实证明,它并不是相互叠加的。如果我删除rect元素,rect总是显示出来,而图像模式只是显示出来。发生了什么事?@Lianzinho你应该为这个问题创建一个新的问题,并提供更多细节。请提供示例
circle.attr({fill: "url(pattern.png)"});