2023年11月27日发(作者:)

Inkscape教程包括:复制/粘贴、节点编辑、手绘和Bezier曲线、路径操作、布尔操作、偏移、

简化、以及文本工具。通过Ctrl+arrows, 滚轮, 或者 中键拖动 将绘图页面向下卷动。绘图对象的创建、

选择、变换等基本操作,请参考帮助Help > 教程Tutorials中的基础教程。

在本教程开始之前,请确认你最好已经查看过“SVG编辑器软件:Inkscape基础教程一文或者你已

经对Inkscape有一定的了解。Inkscape基础教程篇详细的介绍了SVG编辑过程中的一些基本问题,

”SVG制作软件InkscapeSodipodi的关系介绍的是Inkscape的历史背景及创立故事。

1 粘贴操作

当用Ctrl+C复制对象或Ctrl+X剪切对象后,通常的粘贴Paste命令(Ctrl+V)将复制的对象粘贴到

鼠标光标处,如果光标在绘图窗口外,则粘贴到文档窗口的中心。实际上,剪贴板中的对象仍然记着它的

原始位置,你可以用原位粘贴Paste in Place将它粘回原始位置(Ctrl+Alt+V)

另一个粘贴命令,粘贴样式Paste Style(Shift+Ctrl+V),将复制对象的样式应用到所选对象。样式

包括:填充、轮廓、以及字体设置,但不包括形状、大小、以及与该形状相关的参数,如星形的角数等。

命令粘贴大小Paste Size,将复制对象的大小应用到所选对象上。该命令包括:粘贴大小、宽度、高

度,以及分别粘贴大小、宽度、高度。

粘贴大小Paste Size将全部选择的总大小缩放到剪贴板中对象的总大小。粘贴宽度Paste Width/

贴高度Paste Height则仅影响水平和竖直方向上的尺寸。这些命令依据复制对象的长宽比是否锁定(选

择工具控制栏,WH的中间),如果复制对象的长宽比锁定,目标对象的另外一个方向上的尺寸将根据

该比例自动缩放;否则,另一个方向的尺寸将不改变。带有分别Separately”的相应命令也是类似的,不

同之处在于将每个选择对象都分别缩放以适应复制的对象。

注意,Inkscape使用自己的内部剪贴板,除了在文本工具中复制/粘贴文本外,不使用操作系统的剪

贴板。

2 手绘和规则路径

创建任意形状的最简单的方法是使用铅笔(手绘)工具(F6):

对于更规则一些的形状,可以用钢笔(Bezier)工具(Shift+F6):

在钢笔工具中,每次单击创建一个没有曲线控制柄的尖锐点,所以,一系列的单击产生一串线段,点

击然后拖动产生一个光滑的Bezier节点,两边各有一个共线的控制柄。拖动一个控制柄时,按住Shift

以保持另一个不动。同样,Ctrl限制当前线段或Bezier控制柄的方向为15度的整数倍。Enter结束绘制,

Esc取消。如果只取消上一段,使用Backspace

在手绘和bezier工具模式下,选中路径的两端都会显示一个方形的锚点anchors,在这些锚点上可

以继续绘图,从而延长路径,或使其封闭(从一个锚点画到另一个锚点),而不产生新的路径。

3 SVG路径编辑

形状工具创建的是形状,而钢笔和铅笔工具创建的是路径。路径由直线和Bezier曲线构成,像其他对

象一样,路径也可以设置任意类型的填充和轮廓属性。但与形状不同的是,修改路径时可以随意调整节点

(直线或曲线)段,而不是预先设置好的控制柄。切换到节点工具(F2),然后选择下面的路径:

You will see a number of gray square nodes on the path. These nodes can be selected by click,

Shift+click, or by dragging a rubberband - exactly like objects are selected by the Selector

tool. You can also click a path segment to automatically select the adjacent nodes. Selected

nodes become highlighted and show their node handles - one or two small circles connected

to each selected node by straight lines. The ! key inverts node selection in the current

subpath(s) (i.e. subpaths with at least one selected node); Alt+! inverts in the entire path.

路径的编辑通过拖动节点、节点控制柄、或路径段来进行。请在上面的路径上练习一下。Ctrl仍然有

限制移动和旋转的作用。光标arrow , Tab, [, ], <, >的作用与选择工具中一样,但作用于节点,而不

是整个绘图对象。在路径上的任意位置双击或Ctrl+Alt+Click可以添加节点。

选中节点后按Del ,或者Ctrl+Alt+单击一个节点,可以将其删去。删除节点时,将尽可能保持路径

的形状,如果要保持相邻的节点不变(形状将发生变化),用Ctrl+Del删除。另外,Shift+D可以再制

选中的节点,Shift+B可以将路径在选中的节点处打开,如果选中的是路径的两个终点,则可以将其结合

在一起。

Shift+C可以使节点尖锐Cusp ,它的两个控制柄独立,可以各自调整角度;Shift+S可以使节点平

smooth ,两个控制柄共线;Shift+Y可以让节点对称symmetric ,两个控制柄共线并且等长。改变

节点的类型时,将鼠标悬停在一个控制柄上,可以保持该控制柄不变,仅另一个控制柄相应地改变。

通过Ctrl+click控制柄,可以将节点的控制柄收回(到节点上),如果相邻两个节点的控制柄都被收

回,它们中间将变为直线。在节点上Shift+drag可以将控制柄重新拉出。

4 子路径和结合

一个路径可以包含数个子路径subpath。每个子路径中的节点互相连接,子路径与子路径之间则是断

开的。左下图,三个子路径组合为一个路径,右下图中则互相独立,各自为一个路径:

要注意的是,复合路径并不等同于群组,它是一个单独的对象。如果你选中左上的对象,然后切换到

节点工具,将会看到,三个子路径上的节点都显现出来,而在右侧,每次只能选中一个路径进行节点编辑。

通过对几个路径进行结合Combine可以形成一个复合路径(Ctrl+K),也可以将一个复合路径分解为

几个独立的路径 (Shift+Ctrl+K)。在上图中练习一下。由于一个对象只能有一种填充和轮廓样式,结合

后的复合路径将继承第一个对象(处于叠放次序的底层)的属性。

在合并有填充的路径时,如果路径之间有重叠区域,合并后,重叠部分的填充将消失:

这是创建内部有孔的形状的最简单的方法。路径工具的高级操作请参考下面的布尔操作

5 SVG转换路径

Any shape or text object can be converted to path (Shift+Ctrl+C). This operation does not

change the appearance of the object but removes all capabilities specific to its type (e.g. you

can't round the corners of a rectangle or edit the text anymore); instead, you can now edit its

nodes. Here are two stars - the left one is kept a shape and the right one is converted to path.

Switch to node tool and compare their editability when selected:

An example image

而且,任何对象的轮廓stroke都可以转换为路径(“outline”)。下图中第一个是原始路径(无填充,

黑色轮廓),第二个是执行轮廓转为路径Stroke to Path后(黑色填充,无轮廓):

6 布尔操作

路径Path菜单中命令可以将多个路径以布尔操作boolean operations的方

式结合到一起:

布尔操作对应的快捷键也与相应的运算相适应(合并union对应加号,相减

difference对应减号,)命令相减Difference 排除Exclusion 只针对两

个路径,其它操作可以应用于任意数量的对象。操作后的对象总是保留参与操作

的底层对象的样式。

排除Exclusion 与结合Combine 操作有些类似,只不过,排除Exclusion

原始对象相交的地方添加节点。分割Division 剪切路径Cut Path命令的区

别在于前者用顶层路径将底层路径完全剪切,而后者只剪切轮廓,填充则完全完

全删除(适用于将不用填充的轮廓分为数段)

嵌入与扩展

Inscape不仅可以通过缩放,也可以通过偏移offsetting来扩展和收缩形

状,即将路径上的点沿法线方向移动。相应的命令为:嵌入Inset (Ctrl+()

扩展Outset (Ctrl+))。下图中给出了原始路径(红色)以及通过嵌入和扩展产生

的新路径:

正常情况下,嵌入Inset 和扩展Outset命令生成的对象是路径(如果原始

对象不是路径,将先转为路径)通常,更方便的命令是动态偏移Dynamic Offset

(Ctrl+J),通过一个拖动控制柄(同形状的控制柄类似)来控制偏移量。选中下

面的对象,切换到节点工具,拖动控制柄到一个合适的位置:

这种动态偏移对象dynamic offset object会记录原始位置,多次调整偏移

时不会产生退化(degrade)。如果不需要再调整,可以将偏移对象转为路径。

也许,更有效的是关联偏移linked offset,与动态偏移类似,但原始对象仍然保留,并且可以编辑。

一个原始对象可以有多个关联偏移。下图中,原始对象是红色的,其中一个关联偏移轮廓是黑色的,没有

填充,另一个有黑色填充,但没有轮廓。

选择红色的对象,编辑其节点,观察关联偏移对象的变化。选择关联对象,拖动控制柄,调节偏移量。

你会注意到,移动和改变原始对象影响到关联偏移对象,而偏移对象的移动和变换是独立的,同时保持和

源对象的链接关系。

7 SVG的简化与优化

简化Simplify (Ctrl+L)命令在尽量保持形状的情况下减少路径上的节点。铅笔工具创建的对象,节

点数目往往过多,需要这个工具来简化。下图中,左侧的形状是通过手绘工具创建的,右侧是简化后的。

原始对象有28个节点,简化后只有17(节点工具编辑时更容易一些),而且更平滑。

简化的程度(称为阈值threshold)取决于选区的大小。所以,如果选择路径的同时也选择了较大对

象,简化的程度将更大。并且,简化的速度将加快。也就是所,如果连着按几次Ctrl+L(间隔不超过0.5

秒),每次简化的阈值将递增。(如果等一会再执行,阈值又会还原原始大小。)通过这种方法可以比较

精确地控制简化的程度。

Besides smoothing freehand strokes, Simplify can be used for various creative effects. Often,

a shape which is rigid and geometric benefits from some amount of simplification that creates

cool life-like generalizations of the original form - melting sharp corners and introducing very

natural distortions, sometimes stylish and sometimes plain funny. Here's an example of a

clipart shape that looks much nicer after Simplify:

An example image

8 创建SVG文本

Inkscape可以创建复杂的文本。也可以很方便地绘制简短的文字对象,例如标题,标识,标语,流

程图等中的文字。本节介绍Inkscape中文本工具的基本功能。

切换到文本工具(F8),在页面上的任意位置点击,然后输入文字。打开文本和字体对话框Text and

Font dialog(Shift+Ctrl+T),可以修改文字的字体,样式,大小和对齐方式。这个对话框里也有一个文

字输入框,可以修改选中的文本的内容。在这个对话框里输入文本可能比在画布上更方便(而且支持拼写

检查)。

Like other tools, Text tool can select objects of its own type - text objects -so you can click to

select and position the cursor in any existing text object (such as this paragraph).

文本编辑中常用的一个操作是调整文字间距和行间距,Inkscape中同样有对应的键盘操作方式。当

编辑文本时,Alt+< Alt+>改变当前行的字间距letter spacing,该行的长度在当前缩放级别上每次

改变一个像素(选择工具中,同样用这些键实现像素级别的缩放)。通常,如果字体比默认的大,字间距

紧凑一些看起来更协调。例如:

紧凑一些的作为标题看起来更好一些,但仍然不是很完美:字间距并不一致,例如,“a""t"的间隔

"t""i"的间距大。在一些质量比较差的字体中,(尤其是字体比较大的情况下)这种不均衡的紧排更明

显;但是,不管任何字体,总会存在这种文本组合,需要手工调整松紧。

Inkscape中调整起来是很方便的,将光标放到需要调整的两个字符的中间,Alt+arrows键移动

光标右侧的文字。与上面相同的文字,手动调整字符间距后:

除了Alt+Left Alt+Right将文字左右移动,Alt+Up Alt+Down也可以将文字上下移动:

Of course you could just convert your text to path (Shift+Ctrl+C) and move the letters as

regular path objects. However, it is much more convenient to keep text as text - it remains

editable, you can try different fonts without removing the kerns and spacing, and it takes

much less space in the saved file. The only disadvantage to the “text as text” approach is that

you need to have the original font installed on any system where you want to open that SVG

document.

与字间距类似,在多行文本中也可以调整行间距line spacing在本教程的任意段落中,Ctrl+Alt+<

Ctrl+Alt+>来增大和缩小行间距,每次调整,整个文本的高度在当前缩放级别上改变一个像素。与选

择工具类似,配合Shift键,行间距和字间距的调整量扩大十倍。

XML编辑器

Inkscape中的终极工具是XML编辑器(Shift+Ctrl+X),可以实时显示整个文档的XML树形图。修

改绘图时,你可以注意一下XML树形图中的变化。也可以在XML编辑器中修改文本、元素或者节点属性,

然后在画图上查看效果。这是一个非常形象化的学习SVG格式的交互式工具。并且可以实现一些通常的编

辑工具无法完成的功能。

9 小结

这个教程只展示了Inkscape功能的一小部分,我们希望你能喜欢。欢迎探索它的功能,展示你的灵

感。进一步学习InkscapeSVG形状编辑,请参见“SVG编辑器软件:Inkscape形状教程一文。