Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SVG有没有一种方法可以将多行组合成一条路径_Svg_Path_Fill_Snap.svg - Fatal编程技术网

SVG有没有一种方法可以将多行组合成一条路径

SVG有没有一种方法可以将多行组合成一条路径,svg,path,fill,snap.svg,Svg,Path,Fill,Snap.svg,我有一个应用程序,我把多条直线和圆弧画成单个元素,有没有办法把这些元素复制成一条路径?例如,如果我使用4条线绘制一个矩形,我可以将4条边复制到一条路径中,以便填充该路径吗 下面是一个块更改宽度的示例,从4列更改为3列,从2列更改为1列。最初添加时,它位于4列,每边都有一个唯一的类和id,并且顶部、顶部和底部的行都有4个唯一的类和id。所以,当我从4到3时,我只是隐藏某些类,而理智则会下降到2或1 这里是另一个不同形状块的示例。如果您的路径定义在svg中彼此相邻,则可以使用g将它们分组,然后使

我有一个应用程序,我把多条直线和圆弧画成单个元素,有没有办法把这些元素复制成一条路径?例如,如果我使用4条线绘制一个矩形,我可以将4条边复制到一条路径中,以便填充该路径吗

下面是一个块更改宽度的示例,从4列更改为3列,从2列更改为1列。最初添加时,它位于4列,每边都有一个唯一的类和id,并且顶部、顶部和底部的行都有4个唯一的类和id。所以,当我从4到3时,我只是隐藏某些类,而理智则会下降到2或1


这里是另一个不同形状块的示例。

如果您的路径定义在svg中彼此相邻,则可以使用g将它们分组,然后使用组上的过滤器“填充”内容。我不知道snap,所以不能说它是否允许在渲染的svg中插入任意元素

下面是如何编写这样的过滤器。它使用胖笔划和绿色屏幕技术来选择性地为重叠笔划区域(形状的内部)着色,并将非重叠笔划区域(形状的外部)归零。这是性能密集型的。正确的方法是重新编写路径代码:(



使用矩形的坐标创建一个路径元素,以表示其M和L参数。我的应用程序已经完成,除了能够填充块外,块的宽度随时都会改变,所以我希望使用现有的直线/圆弧元素。矩形只是我拥有的一个简单形状。我有许多不同的块或不同的形状和大小所有这些都可以改变宽度。看起来我不能用Snap SVG填充组。我可以在组中放置一个矩形并填充它,但不是所有的块都是像示例图像一样的矩形。其中一些是1/4圆或1/2圆。这样不仅可以填充线内,而且填充1/4或1/2圆所占的整个矩形s up。那么我不知道如何实现你想要的。你可以填充路径,也可以填充形状,但不能填充断开连接的路径组。很抱歉,但你最好用完全闭合的路径重写。我想我必须找到一种方法,在块的宽度发生变化时,以编程方式计算外部路径。由于我有在XML文件中生成这些块的数据,我想我必须编写一些代码来构建外部路径,然后填充该路径。我真的希望避免这样做:(我在问题中添加了一个示例过滤器。请注意,为了使用正确的笔划宽度,您必须知道形状的尺寸,而这仅适用于所有线条都平行的形状。因此,可能没有那么有用?我认为这可能行得通,因为所有线条都是平行的,而且我有生成形状的数据,我知道d是什么。)尺寸是,所以我认为理论上这是可行的。