Inkscape tutorial: 高级
教程 | 高级
本教程包括:复制/粘贴、节点编辑、手绘线和贝塞尔曲线、路径操作、布尔操作、路径偏移、路径简化、文字工具。
使用Ctrl+方向键,鼠标滚轮,或者鼠标中键拖动可以向下滚动页面。关于创建、选择和变换对象的基础操作知识,请参考菜单帮助⇒教程中的"基础"教程。
粘贴技巧
用Ctrl+C复制对象或通过Ctrl+X剪切对象后,常规的粘贴命令(Ctrl+ V)会把复制的对象粘贴到鼠标光标所在的位置;如果光标位于窗口外,则粘贴到文档窗口的中心位置。但是,剪贴板中的对象会记录被复制对象的原始位置,您可以通过原地粘贴命令(Ctrl+Alt+V)来粘贴到原始位置。
另一个命令是粘贴样式(Shift+Ctrl+V),此命令会把复制到剪贴板中的(第一个)对象的样式应用到当前选中的对象。此操作所粘贴的"样式"包括所有的填充、描边和字体设置,但不包括形状、尺寸或特定于形状类型的参数,例如星形的星尖数量。
另一组粘贴命令编辑⇒粘贴...,会对目标对象进行缩放处理,缩放规则是匹配剪贴板中的对象的尺寸。缩放粘贴相关的命令包含:粘贴尺寸、粘贴宽度、粘贴高度、分别粘贴尺寸、分别粘贴宽度、分别粘贴高度。
编辑⇒粘贴…⇒粘贴尺寸会缩放整个选中对象以匹配剪贴板中对象的整体尺寸。粘贴宽度/粘贴高度会水平/垂直缩放目标对象,使其与剪贴板中对象的宽度/高度相匹配。这些命令受"工具选项栏"中的缩放比例锁定工具控制,当激活该锁定按钮时,所选对象的宽高尺寸会以恒定比例进行缩放;否则,长宽比会发生变化。菜单中在前面有"分别"字样的命令(比如:分别粘贴尺寸)的工作方式与上述相似,不同之处在于它们分别缩放每一个选中对象以使其与剪贴板中对象的尺寸/宽度/高度匹配。
剪贴板是系统级别的 - 您可以在不同的Inkscape文件之间以及Inkscape和其他应用程序(必须能够处理剪贴板上的SVG才能使用此功能)之间复制/粘贴对象。
绘制手绘线和常规路径
创建一个图形的最简单的方法是使用铅笔(手绘)工具(P):
如果您想创建更规则更可控的图形,请使用钢笔工具(贝塞尔曲线)(B):
使用钢笔工具,每次点击鼠标左键都会创建一个没有控制手柄的尖角节点,一系列点击操作会生成一系列直线段。单击鼠标左键并拖动鼠标会创建一个平滑的贝塞尔节点,节点会带有两个共线相对的手柄。在拖出手柄的同时按Shift键时,可以仅旋转两个手柄中的一个,保持另一个手柄为固定不动。同样,按Ctrl键会限制当前线段或贝塞尔手柄的方向步进为15度的整数倍。按Enter键可以结束绘制,按Esc键可以取消绘制。如果仅想取消未完成绘制的曲线的最后一段,请按Backspace键。
使用钢笔工具和铅笔工具时,当前选中的路径在两端都会显示小方形节点。这两个小正方形节点允许您继续绘制这条路径(比如从一个小正方形节点绘制)或关闭这条路径(从一个小正方形节点绘制到另一个),而不是创建一条新的路径。
编辑路径
与图形工具创建的图形不同,钢笔工具和铅笔工具创建的图形称为路径。路径是直线段和/或贝塞尔曲线的连续组合,与其他Inkscape对象一样,具有填充和描边属性。路径与一般图形不同的地方是,您可以自由拖动路径上的节点(而不仅仅是拖动手柄)或直接拖动整条路径上的某一段路径段来调整路径整体外观。现在试试选中下面这个路径然后切换为节点工具(N):
在路径上有许多灰色方块节点。这些节点可以通过鼠标左键单击、Shift+鼠标左键单击来选中节点,或通过鼠标左键框选来选中节点 - 与使用选择工具来选中对象时的操作完全一样(也可以按住Alt键用鼠标来框选需要选中的节点)。您也可以单击一个路径段来选择该段路径两端的节点(路径段只允许有两个节点)。选中的节点会突出显示并同时显示节点的控制手柄 - 一个或两个小圆圈,且小圆圈通过直线连接到被选中的节点。按!键会反转当前子路径中选中的节点(即至少选中一个节点的子路径);按Alt+!会在整个路径中反转选中的节点。
您可以通过鼠标左键拖动节点、节点手柄或直接拖动路径段来编辑路径。(现在试试拖动上面路径上的节点、控制手柄和路径段。) 按Ctrl键限制移动和旋转步进。方向键、Tab、[、]、<、>及其它辅助快捷键与选择工具的工作方式相同,只不过是适用于节点而不是对象。您可以通过双击,或通过Ctrl+Alt+鼠标左键单击路径上的任何位置来在点击位置添加节点。
您可以使用Del键或者Ctrl+Alt+鼠标左键单击来删除节点。删除节点时,Inkscape会尽量保持路径的外观形状不变,仅在尖角节点处会使用直线。如果您希望它一直保持原始形状,可以按Ctrl+Del。此外,您可以复制所选的节点(Shift+D)。路径可以在选中节点处断开(Shift+B),或者,如果您选中了一条路径的两个终端节点,则可以连接这两个节点(Shift+J)。
节点类型可以修改为尖角节点(Shift+C),这意味着该节点的两个控制手柄可以分别独立移动和调整;或者修改为平滑节点(Shift+S),这意味着该节点的两个控制手柄会保持在一条直线上(共线);或者修改为对称节点(Shift+Y),这意味着该节点不仅是平滑节点,并且节点的两个控制手柄长度完全相同;还可以修改为自动平滑节点(Shift+A),自动平滑节点是一种特殊的节点,它可以自动调整本节点的控制手柄以及两侧的其它自动平滑节点的手柄以保持曲线始终平滑。当您按上面的快捷键调整节点类型时,可以将鼠标指针悬停在节点的一个手柄上来保持该手柄的长度和方向,仅旋转/缩放另外一个手柄。(悬停时,指针应该位于手柄圆点正上方,且圆点会有颜色变化,这表示Inkscape已经检测到鼠标的悬停动作)
此外,您可以通过Ctrl+鼠标左键单击某个控制手柄的圆点来收回该手柄。如果两个相邻节点的手柄缩回,则它们之间的路径段会变为一条直线。要重新拉出缩回的节点,使用Shift+鼠标左键拖动节点一段距离即可。
子路径和路径合并
一个路径对象可能包含多个子路径。子路径是一系列相互连接的节点序列。(因此,如果一条路径包含多个子路径,可能并非所有节点都连接。)下面左图,三个子路径属于同一条复合路径;而在右图中,三个子路径则是完全独立的路径对象:
请注意,复合路径与群组是完全不同的概念。复合路径是单个对象,只能作为整体来选择(复合路径可能通过多个路径组合而成)。如果上面选中左侧对象后切换到节点工具,三个子路径会同时显示节点。而在右侧同样切换到节点工具后,只有一个路径会显示节点。
Inkscape可以把多个独立路径合并为一个复合路径(Ctrl+K),也可以把一个复合路径分离为多个独立的路径(Ctrl+Shift+K)。路径的局部(比如选中的几个节点)可以按Ctrl+C进行拷贝,并作为新的子路径按Ctrl+V插入到同一路径或不同路径中。现在试试在上面的示例中练习这两个命令。由于一个对象只能有同一种填充和描边,因此新的复合路径会按被组合对象中的第一个对象(按z顺序)来赋予填充和描边。
在合并或粘贴带有填充的路径时,如果路径之间有重叠区域,合并后,重叠部分的填充会被镂空:
这是创建带孔对象的最简单方法。更多关于路径的操作,请参考下面的"布尔运算"。
对象转路径
任何图形或文字对象都可以转换为路径(Shift+Ctrl+ C)。此操作不会改变对象的外观形状,但会删除特定于其类型的所有功能(例如,矩形的圆角调整功能或文字的再编辑功能);相反,因为已经成为路径,所以您可以对其节点进行编辑。下面有两颗星形 - 左边一颗保持为基本图形的形态,右边一颗已经转换为路径形态。现在试试切换到节点工具,然后分别选中左侧再选中右侧,对比看看有什么不同:
此外,您可以将任何对象的描边转换为路径(轮廓)。下图中,左侧对象是原始路径(无填充,黑色描边),而右侧对象是执行了描边转路径命令之后的结果(黑色填充,无描边),现在试试用节点工具分别选中二者,对比看有什么区别:
布尔运算
路径菜单中的命令允许您使用布尔运算来组合两个或多个路径对象:
这些命令的快捷键也提示了布尔运算的结果(并集用加号,差集用减号,等等)。差集命令和互斥命令只能应用于两个选中的对象;其他命令可以一次处理任意数量的对象。如果几个对象的填充和描边并不相同,那么布尔运算的结果会采用底部对象的填充和描边(z顺序)。
互斥运算的结果看起来类似于合并(见上文),二者的不同之处在于互斥运算结果会在原始路径相交处增加额外的节点。分割命令和剪切路径命令的区别在于,前者通过顶部对象的路径切割整个底部对象(包括填充和描边),而后者只切割底部对象的描边并删除所有填充(这便于将无填充的描边切割成多份)。
对于一些常见的使用情况,路径菜单中还包含了另外一些命令,这些命令可以把多个基本布尔操作合并为一个,为你节省了一些时间;而且与基本布尔操作不同的是,这些命令还保留了对象的颜色和样式:有限分解可将路径拆分成一组不重叠的对象(比如类似单词或句子的内容会被拆分成字母),庖丁拆解可将一组重叠路径沿任意路径中的每条线进行切割,而投影切割会删除每条重叠路径中不可见的部分,只保留上面并删除下面,因为这些被删除部分已被上层的其它路径覆盖。
图形生成工具
使用图形生成工具(X)时,只需使用鼠标即可从多个路径来创建新的图形。
在切换到该工具之前,请选中一些有重叠的路径对象。切换到该工具后,画布只显示所选对象的轮廓线。现在,可以使用图形生成工具来选择保留和放弃哪些部分。
点击可将被点击部分添加到结果中,或Shift+点击可将被点击部分移除,从而在其位置上创建一个空缺。点击+拖动可将多个不同部分连接成一个,或Shift+点击+拖动可移除一个连续的部分。
最后,您可以点击图形生成工具的工具控制栏中的按钮来接受或放弃操作结果。
向内偏移和向外偏移(收缩和扩张)
Inkscape不仅可以通过尺寸缩放操作来放大和缩小图形,还可以通过偏移对象的路径来收缩和扩张对象,即把路径上的每一个点都按垂直于路径的方向进行位移调整。对应的偏移命令称为向内偏移 (Ctrl+()和向外偏移(Ctrl+))。下图中,红色路径是原始路径,非红色路径是从原始路径向内偏移或向外偏移后得到的新路径:
上面是使用向内偏移和向外偏移命令生成新路径(如果目标对象还不是路径,则会将其转换为路径)。实际上,动态偏移命令(Ctrl+J)有可能使用起来更方便,它可以创建一个带有可拖动手柄的对象来控制偏移距离。现在试试用下面的对象来练习动态偏移控制手柄的作用:
这样的动态偏移对象会记住原始路径,因此当您一次又一次地改变偏移距离时,它不会"退化"。当您不再需要调整它时,可以随时将偏移对象转换成路径。
更方便的命令是链接偏移,它与动态偏移相似,但是会链接到另一个仍可编辑的路径。一个源路径可以具有任意数量的链接偏移路径。在下面,源路径为红色,与之链接的一个偏移路径有黑色描边且没有填充,另一个链接偏移具有黑色填充但没有描边。
选择红色对象并对其某个节点位置进行调整;观察两个链接偏移路径如何关联响应。现在选择一个偏移路径并拖动其手柄来调整偏移半径。最后,请注意如何独立移动或变换偏移路径对象,同时又不会失去它们与源路径的链接。
路径简化
简化命令(Ctrl+L)的主要用途是减少目标路径上的节点数量,同时尽量保持目标路径的原始形状。这对于那些用"铅笔(绘制手绘线)"工具创建的路径可能很有用,因为该工具创建的路径通常节点数量会比较多。下面两个形状,左边的形状是由铅笔工具创建的,右边的形状是左边对象经过"简化"命令处理后的副本。左侧原始路径有28个节点,而经过简化命令处理后,新路径只有17个节点(这意味着后续使用节点工具编辑时会更容易)且更平滑。
简化幅度(阈值)取决于所选对象的尺寸。因此,选择路径的同时也一并选择了其他较大的对象,那么简化幅度会更明显。此外,简化命令自己会加速。这意味着,如果您快速连续多按Ctrl+L几次(操作间隔都在0.5秒内),则结果是每一次简化命令的幅度会越来越大。(如果您在暂停后再次执行"简化"操作,则阈值会恢复为默认值。)充分利用加速的特性,可以比较精确的控制所需的简化程度。
除了能使铅笔工具所创建的手绘路径更平滑,简化命令还可用于其它创意效果。正常情况下,可以通过简化命令,把刻板和方块化的形状,简化为更生动和更活泼的样子,例如将尖锐的角钝化处理,并引入比较自然的变形,可以显得更时尚,同时又很有趣。下面是一个示例,可以看到在简化后看起来更舒适:
创建文本
Inkscape能够创建超长且复杂的文本内容。但是,创建短小的文本对象(例如标题、横幅、logo、流程图标签和说明等)也非常方便。本节是Inkscape文字编辑功能的基础介绍。
如果想创建文本对象,请切换到文字工具(T),然后在文档中的某处单击鼠标,之后输入文本内容即可。如果想改变字体、字号和对齐方式,请打开文字菜单中的"文字和字体"对话框(Shift+Ctrl+T)。该对话框还有一个文字选项卡,您可以在其中编辑选中的文字内容 - 某些情况下,它可能比在画布上处理文字要更方便(该选项卡支持拼写检查)。
与其他工具一样,文字工具可以选择文本类型的对象 - 文字对象 - 因此,您可以单击以选中文字对象,并且可以将光标定位在现有的文字对象的任何位置(例如本段)。
文字设计最常见的操作之一是调整字距和行距。Inkscape为此提供了键盘快捷键。编辑文字内容时,Alt+<和Alt+>可以修改文字对象当前行中的字母间距,使当前行的总长度以1个像素为步进进行缩放(与选择工具相比,相同的快捷键可以进行像素级的尺寸缩放)。通常,如果文字对象中的字号大于默认字号,那么缩小字间距可能会更好看一些。示例如下:
缩小间距后,作为标题时看起来更好看一些,但仍然不够完美:字母之间的距离并不均匀,例如a和t的距离太远,而t和i的距离太近。字体本身的质量如果不好,那么出现此类问题的频率就会比较高(特别是大字体)。但是,在任何文本字符串和任何字体中,字距调整都会带来明显的好处。
Inkscape中调整字距非常容易。只需将光标放在需要调整距离的字符中间,然后使用Alt+方向键来移动光标右侧的字母的位置即可实现。下面是与上面相同的标题文字,这一次是通过手动调整字距来实现视觉上统一的字母间距效果:
除了通过Alt+左方向键或Alt+右方向键水平移动文字对象,也可以使用Alt+上方向键或Alt+下方向键垂直移动文字对象:
当然,您可以将文字转换为路径(Shift+Ctrl+C)后将文字作为路径对象进行移动。但是,将文本属性保留(不转换为路径)其实更方便 - 文字仍然是可编辑的,您可以尝试不同的字体,并且在保存文件时,占用的磁盘空间要小很多。"文字不转换为路径"的唯一缺点是,您需要在打开该SVG文档的系统上安装原始字体。
与字母间距类似,如果是多行文本对象,那么您可以调整行间距。在本教程中的任意段落上尝试Ctrl+Alt+<和Ctrl+Alt+>,使文本对象的整体高度在当前比例下改变1个像素。和选择工具一样,操作时按Shift会以10倍步进进行调整。
Inkscape还能创建自流动文本:只需点击并拖动文字工具,就能绘制出一个文本框,在其中输入文字内容后,文字内容会跟随文本框的形状变化而自动调整,以适应文本框的外形。要控制自流动的文字内容,可以使用工具控制栏中的对齐按钮。
最后,Inkscape中还有第三种文本类型:固定宽度文本。这种文本类型的特点是文本内容的宽度可以设置成固定宽度,但高度没有限制,可以自动排列。操作方法是用文字工具在文档中点击,然后输入文字内容,之后在文本内容的末尾会看到一个小的正方形手柄,拖动这个手柄,可以把文本内容变成固定宽度的文本。
XML编辑器
Inkscape的终极强大工具是XML编辑器(Shift+Ctrl+X)。它显示文档的整个XML树,反映其当前状态。您可以在编辑图形的同时查看XML树中的相应变化。此外,您可以在XML编辑器中编辑任何文本、元素或属性节点,并在画布上查看编辑效果。这是可以想象到的最好的交互式学习SVG的工具,它使您可以实现常规编辑工具无法实现的技巧。
总结
本教程只介绍了Inkscape全部功能的一小部分,希望你能喜欢。请大胆尝试和分享您创建的内容。请访问inkscape.org获取更多信息,包括下载最新版本以及获得用户和开发人员的帮助。
Translators: 柳小勤Liu Xiaoqin — 2008; 驿窗 — 2022~2024
Header / footer design: Esteban Capella — 2019