(RaphaelJS)- 如何填充路径内部?

11

我有一个 RaphaelJS 库的路径,但似乎无法更改填充颜色。

var mypage = ScaleRaphael('mainContainer', 1000, 1000);
 mypage.setStart();
mypath.path('M794.33,21.5l152.3-0.76L946,21.5v-0.22l1.39,0.01l-1.17,206.61l-0.04,0.3l-0.15,0.27l-0.04,0.07l-0.18,0.35l-0.34,0.2 L786.4,321.59l-159.22,92.27l-2.12,1.18l-0.07-2.36v-1v-0.28l0.18-0.26l42.1-97.5l42.26-97.43l21.13-48.71l21.21-48.68 L794.33,21.5z M794.33,21.5l-41.46,97.76l-20.76,48.87l-20.84,48.83l-41.68,97.67l-41.78,97.59l0.18-0.54v1l-2.11-1.18 l159.08-92.46l159.23-92.21l-0.52,0.54l0.03-0.07l-0.14,0.57l2.04-206.6l1.39,0.01v0.22l0.13,0.77l-0.69,0L794.33,21.5z')
    .attr({"type":"path","stroke":"none","fill":"blue"});
路径已正确创建,但 fill 属性仅使描边蓝色,未填充,我做错了什么?

1
你从哪里得到这个路径?它的形状像是一条笔画,如果你执行.attr({"type":"path","stroke":"blue","fill":"none", "stroke-width":0.5});,你就会明白正在发生什么。 - methodofaction
这是Illustrator的输出,我该怎么做才能填充内部? - Farzan
2个回答

14

您的路径形状像一条线段,要让它填充,需要通过修改路径来移除第二个 M 之后的所有内容:

var stage = Raphael('stage',1000, 1000);
var path = stage.path('M794.33,21.5l152.3-0.76L946,21.5v-0.22l1.39,0.01l-1.17,206.61l-0.04,0.3l-0.15,0.27l-0.04,0.07l-0.18,0.35l-0.34,0.2 L786.4,321.59l-159.22,92.27l-2.12,1.18l-0.07-2.36v-1v-0.28l0.18-0.26l42.1-97.5l42.26-97.43l21.13-48.71l21.21-48.68 L794.33,21.5z')
    .attr({"type":"path","stroke":"none","fill":"blue"});​

http://jsfiddle.net/YzMCG/


完美的答案。谢谢。 - Steffi

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接