使用 Inkscape 的 SVG
Inkscape SVG 与优化 SVG
Inkscape 支持不同的文件格式来对图形进行序列。Inkscape SVG 是产品专用的格式,其中存储了有关实际图形的完整信息,包括不属于 SVG 标准的概念。因此,此文件非常庞大,并且无法移植到其他工具。相比之下,优化 SVG(请勿将其与普通 SVG 混淆)会创建一个只包含最终渲染所需的那些部分的小文件。此格式甚至可以通过将常见定义收集到高级元素中来执行优化。
有两组参数影响 Inkscape 的行为。
新建文件
首先,你可以选择与实际图形相关的各种参数,例如其大小、像素、点、em 或其他单位的默认度量、缩放因子、元数据、启用/禁用网格,以及更多内容。为了支持在图形中的参数得到一致的使用,这些参数可以存储在一个中心位置。每当你创建一个新的图形时,它们都会从$HOME/.config/inkscape/templates/default.svg读取。(从技术上讲,这是所有新图形的默认模板。如果你想保留 Inkscape 在其他任务中的先前行为,你应该在模板目录中创建一个文件postgres.svg,并使用命令创建新的文件:文件 / 从模板新建 / postgres.)推荐的内容如下
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://web.resource.org/cc/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
version="1.1"
width="580"
height="280"
viewBox="0 0 580 280">
<defs id="defs1" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
borderlayer="false"
showborder="true"
showgrid="true"
inkscape:document-units="px"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:showpageshadow="false"
inkscape:cx="290"
inkscape:cy="140"
inkscape:zoom="1.5"
inkscape:window-maximized="false" >
<inkscape:grid type="xygrid" id="grid1" />
</sodipodi:namedview>
<metadata>
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<!-- border and background -->
<rect x="1" y="1" width="99.4%" height="99.4%" rx="1%"
fill="whitesmoke" stroke="#CCCCCC" /> <!-- fill="hsl(0, 0%, 97%)" stroke="hsl(0, 0%, 80%)" /> -->
</svg>
另存为
其次,你可以选择如何生成优化 SVG格式。选择以下选项:文件 / 另存为
使用符号
你可以定义在<defs><symbols>构造中在一个(或多个)文件中多次使用的图形元素,并从 SVG 文件中的任何位置引用它们。SVG 1.1(以及 SVG 1.2 草案)提出了一个XLink语法
<use xlink:href="filename#symbol_id"/>
在即将发布的 SVG 2.0 标准中,XLink 已被弃用,取而代之的是无命名空间语法
<use href="filename#symbol_id">
Inkscape(在 0.92 版中)不接受新的语法。但如果你使用其他工具接收 SVG 文件,可能使用了新的语法。在这种情况下,你必须手动更正此文件,不要忘记在根元素中声明命名空间:xmlns:xlink="http://www.w3.org/1999/xlink"
手动更正
使用 XML 或文本编辑器控制优化后的文件,并执行一些手动更正。除以下所示提示外,还有有关此步骤的 一些通用提示。
- 有时候会有很多相同的不必要的 <marker> 元素(Inkscape 0.92)。手动将它们清除。
- 有时候会有一个
scale(0)属性,它会导致其元素不可见。将它更改为类似于 scale(0.5) 之类的东西。 text元素总是使用一个额外的tspan元素创建。这发生在多行文本中。一个示例
<text ... > <tspan x="50" y="20" ... >line one</tspan> <tspan x="50" y="40" ... >line two</tspan> <tspan x="50" dy="20" ... >line three</tspan> </text>
如果你创建单行文本,请使用更简单的语法
<text ... >One line</text>



