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
Recursion 呈现递归SVG文件_Recursion_Svg_Rendering - Fatal编程技术网

Recursion 呈现递归SVG文件

Recursion 呈现递归SVG文件,recursion,svg,rendering,Recursion,Svg,Rendering,是否存在可以智能处理递归(即自引用)svg文件的现有渲染器 例如,此代码来自: 在Firefox、Chrome或Inkscape中没有正确渲染,但看起来似乎没有 这很难让渲染器跟踪特定文件的打开时间,并在合理的迭代次数后停止 (如果一个不存在,如果我想自己编写一个,我可以去哪里寻找?为了保护用户的隐私,图像文件必须是独立的。也就是说,如果您正在从图像标记引用SVG文件,并且SVG文件本身包含图像,则必须将图像数据指定为 您可以使用数据URL将图像嵌套到任意深度,尽管这不是真正的递归,因为您每

是否存在可以智能处理递归(即自引用)svg文件的现有渲染器

例如,此代码来自:


在Firefox、Chrome或Inkscape中没有正确渲染,但看起来似乎没有 这很难让渲染器跟踪特定文件的打开时间,并在合理的迭代次数后停止


(如果一个不存在,如果我想自己编写一个,我可以去哪里寻找?

为了保护用户的隐私,图像文件必须是独立的。也就是说,如果您正在从图像标记引用SVG文件,并且SVG文件本身包含图像,则必须将图像数据指定为


您可以使用数据URL将图像嵌套到任意深度,尽管这不是真正的递归,因为您每次都必须提供一个完整副本,并且您的数据URL将变得非常大。

您可以重复引用定义。虽然这不是无限递归,但它比其他答案/注释中引用的嵌套方法简单得多

参见我发现的达德利·斯托雷的这些例子():

svg{
显示:块;
宽度:40%;
保证金:0自动;
}
多边形,线{
填充:无;笔划:32679D;
笔画宽度:5px;
矢量效果:非缩放笔划;
}


很抱歉,我不太明白这个答案。首先,我根本不希望在浏览器或HTML文档中使用它,它是独立的。第二,你所说的数据URL是什么意思?这是否意味着一般来说,我不能轻松地嵌套复杂的图像文件?下面是一个SVG作为数据URL的示例,您可以轻松地嵌套复杂的SVG,但不能轻松地进行多层嵌套。根据SVG规范,这样的循环依赖项被视为错误,需要UAs来检测并打破此类循环。它们在什么时候爆发还没有定义,例如见Phooey。我想我会试着写我自己的,然后…顺便说一下,我无法正确显示代码块中标签的第一个前导“列”。如果有人能弄明白这一点,编辑将不胜感激。
<svg width="100%" height="100%" viewBox="-100 -100 200 200" version="1.1"
     xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink">
  <circle cx="-50" cy="-50" r="30" style="fill:red" />
  <image x="10" y="20" width="80" height="80" xlink:href="recursion.svg" />
</svg>