Follow us on:

Home

Inkscape tutorial: 高级

bulia byak, buliabyak@users.sf.net ; josh andler, scislac@users.sf.net

本教程包括:复制/粘贴、节点编辑、手绘和Bezier曲线、路径操作、布尔操作、偏移、简化、以及文本工具。

通过Ctrl+arrows, 滚轮, 或者 中键拖动 将绘图页面向下卷动。绘图对象的创建、选择、变换等基本操作,请参考帮助Help > 教程Tutorials中的基础教程。

粘贴操作

当用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则仅影响水平和竖直方向上的尺寸。这些命令依据复制对象的长宽比是否锁定(选择工具控制栏,W和H的中间),如果复制对象的长宽比锁定,目标对象的另外一个方向上的尺寸将根据该比例自动缩放;否则,另一个方向的尺寸将不改变。带有“分别Separately”的相应命令也是类似的,不同之处在于将每个选择对象都分别缩放以适应复制的对象。

Clipboard is system-wide - you can copy/paste objects between different Inkscape instances as well as between Inkscape and other applications (which must be able to handle SVG on the clipboard to use this).

手绘和规则路径

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

An example image

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

An example image

在钢笔工具中,每次单击创建一个没有曲线控制柄的尖锐点,所以,一系列的单击产生一串线段,点击然后拖动产生一个光滑的Bezier节点,两边各有一个共线的控制柄。拖动一个控制柄时,按住Shift可以保持另一个不动。同样,Ctrl限制当前线段或Bezier控制柄的方向为15度的整数倍。Enter结束绘制,Esc取消。如果只取消上一段,使用Backspace

在手绘和bezier工具模式下,选中路径的两端都会显示一个方形的锚点anchors,在这些锚点上可以继续绘图,从而延长路径,或使其封闭(从一个锚点画到另一个锚点),而不产生新的路径。

编辑路径

形状工具创建的是形状,而钢笔和铅笔工具创建的是路径。路径由直线和Bezier曲线构成,像其他对象一样,路径也可以设置任意类型的填充和轮廓属性。但与形状不同的是,修改路径时可以随意调整节点和(直线或曲线)段,而不是预先设置好的控制柄。切换到节点工具(F2),然后选择下面的路径:

An example image

你会看到路径上有一些灰色的方形节点。通过点击Shift+点击、或拖出弹性选框,来选择这些节点,与选择器工具拾取对象完全相同。也可以单击路径中的一段来选择相邻的节点。选中的节点将高亮显示,并出现节点控制柄:一个或两个与该节点相连的小圆圈。!键在当前子路径范围内反选节点(子路径上至少选中一个节点);Alt+!在整个路径范围内反选节点。

路径的编辑通过拖动节点、节点控制柄、或路径段来进行。请在上面的路径上练习一下。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可以将控制柄重新拉出。

子路径和结合

一个路径可以包含数个子路径subpath。每个子路径中的节点互相连接,子路径与子路径之间则是断开的。左下图,三个子路径组合为一个路径,右下图中则互相独立,各自为一个路径:

An example image

要注意的是,复合路径并不等同于群组,它是一个单独的对象。如果你选中左上的对象,然后切换到节点工具,将会看到,三个子路径上的节点都显现出来,而在右侧,每次只能选中一个路径进行节点编辑。

通过对几个路径进行结合Combine可以形成一个复合路径(Ctrl+K),也可以将一个复合路径分解为几个独立的路径 (Shift+Ctrl+K)。在上图中练习一下。由于一个对象只能有一种填充和轮廓样式,结合后的复合路径将继承第一个对象(处于叠放次序的底层)的属性。

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

An example image

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

转换为路径

任何的形状和文本都可以转为路径 (Shift+Ctrl+C)。转换不改变对象的外观,但对象原本所具有的特殊编辑方式(例如矩形倒圆,改变文本内容等)都将不复存在,而变为用节点工具进行编辑。这里有两个星形,左边的一个是形状,右边的已经转为路径,切换到节点工具模式,选择这两个对象,看看他们的区别:

An example image

而且,任何对象的轮廓stroke都可以转换为路径(“outline”)。下图中第一个是原始路径(无填充,黑色轮廓),第二个是执行轮廓转为路径Stroke to Path后(黑色填充,无轮廓):

An example image

布尔操作

路径Path菜单中命令可以将多个路径以布尔操作boolean operations的方式结合到一起:

An example image

布尔操作对应的快捷键也与相应的运算相适应(合并union对应加号,相减difference对应减号,等)。命令相减Difference排除Exclusion 只针对两个路径,其它操作可以应用于任意数量的对象。操作后的对象总是保留参与操作的底层对象的样式。

排除Exclusion结合Combine 操作有些类似,只不过,排除Exclusion 在原始对象相交的地方添加节点。分割Division剪切路径Cut Path命令的区别在于前者用顶层路径将底层路径完全剪切,而后者只剪切轮廓,填充则完全完全删除(适用于将不用填充的轮廓分为数段)。

嵌入与扩展

Inscape不仅可以通过缩放,也可以通过偏移offsetting来扩展和收缩形状,即将路径上的点沿法线方向移动。相应的命令为:嵌入Inset (Ctrl+() 和 扩展Outset (Ctrl+))。下图中给出了原始路径(红色)以及通过嵌入和扩展产生的新路径:

An example image

正常情况下,嵌入Inset扩展Outset命令生成的对象是路径(如果原始对象不是路径,将先转为路径)。通常,更方便的命令是动态偏移Dynamic Offset (Ctrl+J),通过一个拖动控制柄(同形状的控制柄类似)来控制偏移量。选中下面的对象,切换到节点工具,拖动控制柄到一个合适的位置:

An example image

这种动态偏移对象dynamic offset object会记录原始位置,多次调整偏移时不会产生退化(degrade)。如果不需要再调整,可以将偏移对象转为路径。

也许,更有效的是关联偏移linked offset,与动态偏移类似,但原始对象仍然保留,并且可以编辑。一个原始对象可以有多个关联偏移。下图中,原始对象是红色的,其中一个关联偏移轮廓是黑色的,没有填充,另一个有黑色填充,但没有轮廓。

选择红色的对象,编辑其节点,观察关联偏移对象的变化。选择关联对象,拖动控制柄,调节偏移量。你会注意到,移动和改变原始对象影响到关联偏移对象,而偏移对象的移动和变换是独立的,同时保持和源对象的链接关系。

An example image

简化

简化Simplify (Ctrl+L)命令在尽量保持形状的情况下减少路径上的节点。铅笔工具创建的对象,节点数目往往过多,需要这个工具来简化。下图中,左侧的形状是通过手绘工具创建的,右侧是简化后的。原始对象有28个节点,简化后只有17个(节点工具编辑时更容易一些),而且更平滑。

An example image

简化的程度(称为阈值threshold)取决于选区的大小。所以,如果选择路径的同时也选择了较大对象,简化的程度将更大。并且,简化的速度将加快。也就是所,如果连着按几次Ctrl+L(间隔不超过0.5秒),每次简化的阈值将递增。(如果等一会再执行,阈值又会还原原始大小。)通过这种方法可以比较精确地控制简化的程度。

除了平滑手绘对象,简化命令还可以产生许多创造性的效果。显得尖锐和呆板的对象经过简化经常后产生更柔和的效果:锐角变得平滑,引入更自然的变形效果,显得更生动,更有风格。下面是一个剪贴画对象经过简化后的效果:

An example image

创建文本

Inkscape可以创建复杂的文本。也可以很方便地绘制简短的文字对象,例如标题,标识,标语,流程图等中的文字。本节介绍Inkscape中文本工具的基本功能。

切换到文本工具(F8),在页面上的任意位置点击,然后输入文字。打开文本和字体对话框Text and Font dialog(Shift+Ctrl+T),可以修改文字的字体,样式,大小和对齐方式。这个对话框里也有一个文字输入框,可以修改选中的文本的内容。在这个对话框里输入文本可能比在画布上更方便(而且支持拼写检查)。

像其它工具一样,文本工具模式下可以选择其自身类型的对象——文本对象——点击选择,将输入光标放到文本中的任意位置(比如这个段落)。

文本编辑中常用的一个操作是调整文字间距和行间距,Inkscape中同样有对应的键盘操作方式。当编辑文本时,Alt+<Alt+>改变当前行的字间距letter spacing,该行的长度在当前缩放级别上每次改变一个像素(选择工具中,同样用这些键实现像素级别的缩放)。通常,如果字体比默认的大,字间距紧凑一些看起来更协调。例如:

An example image

紧凑一些的作为标题看起来更好一些,但仍然不是很完美:字间距并不一致,例如,“a"和"t"的间隔比"t"和"i"的间距大。在一些质量比较差的字体中,(尤其是字体比较大的情况下)这种不均衡的紧排更明显;但是,不管任何字体,总会存在这种文本组合,需要手工调整松紧。

在Inkscape中调整起来是很方便的,将光标放到需要调整的两个字符的中间,Alt+arrows键移动光标右侧的文字。与上面相同的文字,手动调整字符间距后:

An example image

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

An example image

当然也可以将文字转为路径(Shift+Ctrl+C),并将字符像路径一样移动。但是,让其保持为文字无疑是更好的选择,不仅可以编辑,改变字体时也不会丢失间距,文件的体积也更小。保留为文本的唯一缺点是,当你将该SVG文件拿到别的计算机上打开时,这个机子上必须安装有相应的字体。

与字间距类似,在多行文本中也可以调整行间距line spacing。在本教程的任意段落中,Ctrl+Alt+<Ctrl+Alt+>来增大和缩小行间距,每次调整,整个文本的高度在当前缩放级别上改变一个像素。与选择工具类似,配合Shift键,行间距和字间距的调整量扩大十倍。

XML编辑器

Inkscape中的终极工具是XML编辑器(Shift+Ctrl+X),可以实时显示整个文档的XML树形图。修改绘图时,你可以注意一下XML树形图中的变化。也可以在XML编辑器中修改文本、元素或者节点属性,然后在画图上查看效果。这是一个非常形象化的学习SVG格式的交互式工具。并且可以实现一些通常的编辑工具无法完成的功能。

小结

这个教程只展示了Inkscape功能的一小部分,我们希望你能喜欢。欢迎探索它的功能,展示你的灵感。更多信息,最新版本,以及寻求用户社区的帮助,请登录www.inkscape.org