Inkscape tutorial: 進階

Inkscape

指導手冊 | 進階

這篇教學內容涵蓋複製/貼上、節點編輯、手繪和貝茲曲線、路徑運用、布林運算、偏移、簡化和文字工具。

使用 Ctrl+方向鍵滑鼠滾輪按著滑鼠中鍵拖曳可向下捲動頁面。關於建立、選取和改變物件的基本方法,請閱讀 說明指導手冊 中的基本教學。

剪貼技巧

你用 Ctrl+C 複製或用 Ctrl+X 剪下一些物件後,普通的 貼上 指令 (Ctrl+V) 會在滑鼠游標正下方貼上複製的物件,如果游標不在視窗內,會將複製物件貼在文件視窗的中心位置。不過,在剪貼簿中的物件被複製時仍會記住原始位置,且你可以用 同位置貼上 (Ctrl+Alt+V) 貼回到那裡。

另一個指令 - 貼上樣式 (Shift+Ctrl+V) 套用在剪貼簿上的 (第一個) 物件樣式到目前的選取。被套用的“樣式”包括全部的填色、邊框和字型設定,但不包含形狀、大小或指定形狀類型的參數,例如星形的尖角數目。

Yet another set of paste commands, available from EditPaste..., scales the selection to match the desired size attribute of the clipboard object(s). There are a number of commands for pasting size and are as follows: Size, Width, Height, Size Separately, Width Separately, and Height Separately.

EditPaste…Size scales the whole selection to match the overall size of the clipboard object(s). Width/Height scale the whole selection horizontally/vertically so that it matches the width/height of the clipboard object(s). These commands honor the scale ratio lock on the Selector Tool controls bar (between W and H fields), so that when that lock is pressed, the other dimension of the selected object is scaled in the same proportion; otherwise the other dimension is unchanged. The commands containing “Separately” work similarly to the above described commands, except that they scale each selected object separately to make it match the size/width/height of the clipboard object(s).

剪貼簿是全系統範圍的 - 你可以在不同的 Inkscape 實體之間複製/貼上物件,也可以在 Inkscape 和其他應用程式之間 (此應用程式必須能處理剪貼簿上的 SVG 才可使用)。

手繪和規則路徑

The easiest way to create an arbitrary shape is to draw it using the Pencil (freehand) tool (P):

If you want more regular shapes, use the Pen (Bezier) tool (B):

用筆工具每次點擊會建立一個無任何曲線控制柄的尖銳節點,所以一連串點擊會產生一條直線線段的串連。點擊拖曳 會建立一個帶有兩個對立於同一直線上的控制點的平滑貝茲曲線節點。當拖住一個控制點時按 Shift 可只旋轉單個控制點並固定另一個。Ctrl 像往常一樣可限制目前線段或貝茲曲線控制點方位的增加量為 15 度。按 Enter 鍵完成並結束此直線,按 Esc 鍵可取消。按 Backspace 鍵可只取消未完成直線的最後線段。

不論用手繪或貝茲曲線工具,目前選取的路徑於兩側端點會顯示方形的小錨點。這些錨點讓你可繼續這個路徑 (從其中一個錨點開始繪製) 或關閉它 (從其中一個錨點繪製到另一個),而不是建立一個新的路徑。

編輯路徑

Unlike shapes created by shape tools, the Pen and Pencil tools create what is called paths. A path is a sequence of straight line segments and/or Bezier curves which, as any other Inkscape object, may have arbitrary fill and stroke properties. But unlike a shape, a path can be edited by freely dragging any of its nodes (not just predefined handles) or by directly dragging a segment of the path. Select this path and switch to the Node tool (N):

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 (including the very similar way to use the Alt key to draw around the nodes you want to select). 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 的作用與往常一樣可限制移動量和旋轉量。方向鍵Tab[]<> 按鍵的全部作用都與在選取器時一樣,但套用到節點而不是物件。你可以藉由點擊兩次或 Ctrl+Alt+點擊想要的位置於路徑上任何地方增加節點。

You can delete nodes with Del or Ctrl+Alt+click. When deleting nodes, Inkscape will in most cases try to retain the shape of the path. Only on sharp corners, it will instead create a straight line. If you want it to always try to preserve the shape, you can use Ctrl+Del. Additionally, you can duplicate (Shift+D) selected nodes. The path can be broken (Shift+B) at the selected nodes, or if you select two endnodes on one path, you can join them (Shift+J).

節點可以變為尖角 (Shift+C),這表示它的兩個控制柄彼此之間可於任何角度各自移動;平滑 (Shift+S) 表示它的控制點總保持在同一直線上 (共線);而對稱 (Shift+Y) 同於平滑,但控制柄還具有相同的長度;自動平滑 (Shift+A) 自動調整節點控制柄並自動平滑節點讓曲線保持平滑。當你切換節點的類型時,你可以將滑鼠停留在其中一個控制點上方使其維持原來的位置,所以只有另一個控制點會配合旋轉/縮放。

同樣地,你用 Ctrl+點擊節點的控制點可以撤銷它。如果相鄰的兩個節點已撤銷他們的控制點,節點之間的路徑線段會變成直線。從節點 Shift+拖曳離開可恢復已撤銷的節點。

子路徑和合併

一個路徑物件可能包含多個子路徑。子路徑是節點連接另一個節點的串連。(因此,如果路徑有多個子路徑,並不是所有的節點都連接在一起。) 下面左邊的三個路徑屬於單一複合路徑;於右邊相同的三個路徑是獨立的路徑物件:

注意那個複合路徑不同於群組。它是單一個物件,只是整個都可選取。如果你選取上面左邊的物件並切換為節點工具,你會看到節點顯示在全部三個子路徑上。在右邊的,你只能一次編輯一個路徑上的節點。

Inkscape can Combine paths into a compound path (Ctrl+K) and Break Apart a compound path into separate paths (Ctrl+Shift+K). Parts of a path (i.e. a selection of nodes) can also be copied with Ctrl+C and inserted as a new subpath (into the same path or a different one) with Ctrl+V. Try these commands on the above examples. Since an object can only have one fill and stroke, a new compound path gets the style of the first (lowest in z-order) object being combined.

When you combine or paste overlapping paths with fill, usually the fill will disappear in the areas where the paths overlap:

這個是製作帶有孔洞的物件最簡單的方法。看下面的「布林運算」段落可了解更多強大的路徑指令。

轉換成路徑

任何形狀或文字物件都可轉換成路徑 (Shift+Ctrl+C)。這個操作不會改變物件的外觀,但是會移除原本類型的全部特性 (例如你不再能將矩形的邊角圓角化或編輯文字);取而代之地,你現在可以編輯它的節點。下面有兩個星形 — 左邊的仍是形狀而右邊的是已經轉換成路徑。切換到節點工具並比較選取時它們的編輯特性:

此外,你可以將任何物件的邊框轉換為路徑 (“輪廓”)。下面的第一個物件是原本的路徑 (無填色,黑色邊框),第二個是使用邊框轉成路徑指令的結果 (黑色填色,無邊框):

布林運算

路徑選單中的這個指令讓你用布林運算合併兩個或多個物件:

這些指令的鍵盤快捷鍵是針對布林運算的類比算法 (相加是聯集、減去是差集...等)。相減排除指令只能套用到兩個已選擇的物件;其他的可以一次處理多個物件。結果都是呈現下層物件的樣式。

使用排除指令的結果看起來像是合併(如上),但它的差別在於排除會在原來的路徑交差點增加額外的節點。除法剪切之間的不同是前者以最上層物件切去整個下層物件,而後者只切去下層物件的邊框並去掉任何填色 (這個對將無填色的邊框切割成碎片很方便)。

For some common use cases, the Path menu also contains a few commands that combine multiple basic Boolean operations into one, to save you some time – and on top, they also keep the color and style of the objects, unlike the basic operations: Split Path splits a path into a set of non-overlapping sections (so a text-like path would be split into letters), Fracture fractures a set of overlapping paths along every line in any path, and Flatten will remove every part of each overlapping path that is not visible, because it is covered by another path in the selection.

Shape Builder tool

For building up new shapes from multiple paths by using the mouse only, the Shape Builder tool (X) can be used.

Before you switch to the tool, select some overlapping objects. After you switch to the tool, the canvas will only show the outlines of the objects that you have selected. Now, the Shape Builder tool can be used to choose which sections to keep and which to discard.

Click to add a section to the result, or Shift+click to remove it to create a hole in its place. click+drag to connect multiple sections to one, or Shift+click+drag to remove a contiguous section.

Finally, you can accept or discard the result using one of the buttons in the tool controls bar.

內縮和外擴

Inkscape 不只可用縮放來擴張和收縮形狀,也可藉由偏移物件的路徑達成效果,即每個點以垂直於路徑方向移動。對應的指令名稱為內縮 (Ctrl+() 和外擴 (Ctrl+))。下面陳列的是原始路徑 (紅色) 和一些由原路徑經過內縮或外擴的路徑:

簡單的內縮外擴指令產生這些路徑 (如果原物件不是路徑先將它轉成路徑)。通常動態偏移 (Ctrl+J) 更方便些,可製作出一個帶有可控制偏移距離的控制柄的物件。選取下面的物件,切換到節點工具並拖動它的控制點來了解這功能:

上述的動態偏移物件會記住原本路徑,所以當你一遍又一遍的改變偏移距離時它不會受到「損害」。當你不需要再做任何調整時,你可將偏移物件轉換回路徑。

還有更方便的連結偏移,類似於動態變化但是連結到另一個尚待編輯的路徑。一個來源路徑可有多個連結偏移。下面紅色的是來源路徑,它的連結偏移是黑色邊框且無填色,其他的是黑色填色而無邊框。

選取紅色物件並編輯它的節點;觀察連結偏移跟著怎樣變化。現在選取任一個偏移並拖動它的控制柄以調整偏移半徑。最後,注意移動或改變來源時所有連結偏移是如何跟著變動,而在不失去它們與來源的連結情形下你能夠如何獨自地移動或改變偏移物件。

簡化

簡化指令 (Ctrl+L) 主要用於減少路徑的節點數目並且盡可能保持原來的形狀。這個對用鉛筆工具製作的路徑很有用,因為鉛筆工具有時候會製作不必要的節點。下面左邊的形狀是用手繪工具製作的,而右邊那一個是經過簡化的結果。原始路徑有 28 個節點,而簡化過的只有 17 個 (這表示用節點工具進行編輯會更容易) 且外觀更平滑。

簡化的程度 (稱為臨界值) 決定在選取物件的大小。因此,如果你選取一個路徑和一些較大的物件,那麼路徑簡化的程度會大於只單獨選取路徑時。另外,簡化指令具有加速性。這表示如果你連續快速按 Ctrl+L 數次 (每次間隔小於 0.5 秒),那麼每次呼叫指令都會增加臨界值。(如果你暫停一下再執行簡化,臨界值會回到預設值。) 靈活運用加速特性,可讓你輕易地依照不同需求套用準確的簡化程度。

除了平滑手繪的邊框以外,簡化還可用於各種創意效果。通常形狀是死板的,而某些程度簡化幾何形狀的好處是可創作出很棒的生動外觀 — 柔化形狀的邊角而產生非常自然的扭曲,時而流行時尚,時而簡樸有趣。下面有一個美工圖案形狀的例子,經過簡化後使外觀變得很漂亮:

建立文字

Inkscape 可以製作長篇幅且複雜的文章。不過也可以極為方便地製作少許文字的物件,諸如標題、旗幟、標誌、圖表標籤和說明...等。這小節將介紹基本的 Inkscape 文字功能。

Creating a text object is as simple as switching to the Text tool (T), clicking somewhere in the document, and typing your text. To change font family, style, size, and alignment, open the Text and Font dialog (Shift+Ctrl+T). That dialog also has a text entry tab where you can edit the selected text object - in some situations, it may be more convenient than editing it right on the canvas (in particular, that tab supports as-you-type spell checking).

像其他工具一樣,文字工具能選取擁有「文字物件」類型的物件,所以你可以點擊來選取以及將游標放置在任何現有的文字物件 (比如本段落)。

文字排版常見的操作之一就是調整字距和行距。正如往常,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 can also create flowed texts: simply click and drag with the text tool to draw a text box for your text to flow in. To control the flow, use the alignment button in the tool controls bar.

Lastly, there is a third type of text in Inkscape: the column-type text. This text's width can be set, while the height is not limited. You can turn any normal, non-flowed text (the one that is created by only clicking) into a fixed-width text by dragging the handle opposite the text anchor.

XML 編輯器

Inkscape 的終極強力工具是 XML 編輯器 (Shift+Ctrl+X)。編輯器會顯示文件的整個 XML 樹狀架構,隨時反映目前的狀態。你可以編輯圖畫並觀察 XML 樹狀架構中對應的變化。此外,你可以用 XML 編輯器編輯任何文字、元件或節點並在畫布上看到效果。這個是互動式學習 SVG 的最佳工具,而且編輯器能夠讓你實現用其他普通編輯工具做不到的把戲。

結論

This tutorial shows only a small part of all capabilities of Inkscape. We hope you enjoyed it. Don't be afraid to experiment and share what you create. Please visit inkscape.org for more information, latest versions, and help from user and developer communities.

Authors: Bulia Byak; Jonathan Leighton; Josh Andler; Colin Marquardt; Nicolas Dufour; Gellért Gyuris; Maren Hachmann

Translators: dongjun wu — 2009

Header / footer design: Esteban Capella — 2019