Graphics SVG:我可以引用同一个元素/组/路径而不是多次复制它吗?

Graphics SVG:我可以引用同一个元素/组/路径而不是多次复制它吗?,graphics,svg,Graphics,Svg,我正在为一个小游戏制作一些图形。图形将是SVG,并且大部分是基于平铺的(想想塞尔达传奇:SNES的过去链接)。我画了一个小草瓷砖,想在整个场地上复制这个NxM次。在Inkscape或其他GUI SVG编辑工具中执行此操作会生成一个超过3.5MB的文件,比相同尺寸的32位位图大 我想知道是否有可能定义某种类型的“草瓷砖”对象,而不是将其复制到我的字段中的每个点,只需使用适当的坐标来引用它。我意识到这仍然会导致场景在加载时占用相同的内存量,但这将意味着存储在光盘上的文件要小得多,希望这将意味着更容易

我正在为一个小游戏制作一些图形。图形将是SVG,并且大部分是基于平铺的(想想塞尔达传奇:SNES的过去链接)。我画了一个小草瓷砖,想在整个场地上复制这个NxM次。在Inkscape或其他GUI SVG编辑工具中执行此操作会生成一个超过3.5MB的文件,比相同尺寸的32位位图大

我想知道是否有可能定义某种类型的“草瓷砖”对象,而不是将其复制到我的字段中的每个点,只需使用适当的坐标来引用它。我意识到这仍然会导致场景在加载时占用相同的内存量,但这将意味着存储在光盘上的文件要小得多,希望这将意味着更容易编辑,因为在这种情况下,如果我想更改例如草的颜色,我只需要更改我的原型对象,而不是进行更改,然后在整个字段上重新复制新的平铺

我已经对各种各样的关键词做了大约六次不同的搜索,我认为可能会有所帮助,但似乎什么都做不到。我想使用'xlink:href'属性,因为我看到它在标记中首先用于定义调色板,然后在包含转换数据的单独标记中引用它

我试着使用类似于:

然后用如下方式复制它:

等,以便将其复制多次到新位置。如果有人能告诉我这是否可行,我将不胜感激。到目前为止,我没有抱希望,所以如果你也知道这是不可能的,请让我也知道,这样我就可以停止浪费我的时间


谢谢

您就快到了,您要寻找的复制/克隆元素是


您提到希望使用GUI工具来实现这一点,所以我想让您知道这在Inkscape中是可能的。您需要使用“复制”工具旁边工具栏上的“克隆”工具,也可以按Ctrl-D键。使用该工具时,克隆将直接放置在要克隆的对象的顶部。只需使用移动工具将其放置在需要的位置


Inkscape在“保存”对话框的“文件类型”下拉列表中还有一个“优化的SVG”选项,它允许您通过删除无关信息以及选择性地降低精度来减小SVG的文件大小

好极了!那肯定会派上用场的。谢谢你的帮助。是的,peeps得到好的答案却懒得接受,这有什么关系?跛脚!这里有一个很好的指南演示了
元素:另外,不要忘记SVG是一个开放标准!是格式的准确的官方规范。读起来真的没那么难;很像文件格式的API文档。这比更改XML容易得多,而且有更多的选项。这里还有一个很好的指南: