布尔运算

如果 Sketch 的标准图形中没有你想要的图形,那就需要你自己创作了。你的第一个想法也许是用矢量工具来手绘出来,然而你会发现很多复杂的图形都可以轻易地被拆分成基本的图形,布尔运算正是为了帮你实现这一点,将几个基本图形结合成一个复杂图形。

子路径

Sketch 支持动态的布尔运算,但在做进一步讨论之前,先来快速的回顾一下矢量图形。Sketch 当中的大多数矢量图形都只含有一系列的点、一个路径。然而一个图形可以有多个子路径,至于这些子路径最终是什么效果,则取决于它们是如何组合的。

在 Sketch 当中使用布尔运算,它会通过具体的布尔算法将最上层的图形变成下一层图形的子路径。由于 Sketch 当中的布尔运算是动态的,所以你也可以随时调整每一个子路径,比如你可以单独调整其中一个矩形的内角半径。此时布尔运算的效果也将随时发生变化。

运算

有 4 种不同的布尔运算方式,你可根据情况来具体选择:

・合并(Union):执行合并后,你将得到两个形状区域的和。

・减去(Subtract):将上层形状区域与下层形状中的重叠部分,从下层区域中挖去,同时只保留下层被挖去后的区域。

・相交(Intersect):取两个形状重叠的部分。

・排除(Difference):将两个形状相交的部分挖去,保留其它部分。

你可以通过下面的视频更快速的了解布尔运算功能:

图层列表

当你操作一个包含多个子路径的图形时,注意左侧的图层列表。你会发现正如编组列表结构,图层列表的左侧也有一个下拉箭头,点击它便会看见这个图形的子路径列表。值得注意的是,每一个子路径的布尔运算都可以在右边的按钮中单独修改。一个子路径可以被设置成减去顶层形状,它上面的一个子路径则可以和它再相合并。

子路径列表的顺序是从下至上的,布尔运算的工作原理也是一样,即你所选的布尔运算将这一层和下一层的图形相组合,它们的结果再与另一层相组合。

图层扁平化

当使用扁平化功能(Flattening),Sketch 会试着将一个图形里的多个子路径呈现为一个路径,也就是将扁平化图层结构。但有些图形是无法扁平为一个路径,比如说一个环状,只能有两个路径:一个是外圈的圆,一个是内圈的圆。

当 Sketch 不能执行扁平化命令时,会出现一个小警告,如果你继续坚持,那有的子路径可能被替换,也许比之前更少,也许和之前一样多。

也许在你之前使用的绘图应用中,你每次添加布尔运算后到要让图层扁平一次,但在 Sketch 当中大可不必这么做,你可以尽情添加无数层布尔运算,而无需使用扁平命令。