布尔运算
子路径
Sketch支持动态布尔运算功能,在我们讨论这些细节之前,需要先回顾下矢量图形。大多数矢量图形都会包含一系列的点,一个路径。但是一个图形可以包含很多子路径,最终图形是什么样子,取决于它们是如何结合的。
当在Sketch中执行一个布尔运算的时候,它会将最上边的图形作为下一层图形的子路径。由于sketch中的布尔运算是动态的,你可以随时调节每一个子路径,例如,一个作为子路径的矩形,你可以独立调整它的边角的圆角半径。此时布尔运算的效果也将随时发生变化。
运算
Sketch中有四种不同的布尔运算方式,你可以根据情况作出选择。
・合并(Union):执行合并后,你将得到两个形状区域的和。
・减去(Subtract):将上一层的形状区域与下一层的形状中的重叠部分,从下一层的区域中挖去,同时只保留下一层被挖去后的区域。
・相交(Intersect):取两个形状相交的部分。
・排除(Difference):将两个形状相交的部分挖去,保留其它部分。
你可以通过下面的视频更快速的了解布尔运算功能:
图层列表
当你操作一个包含多个子路径的图形时,请注意查看图层列表,你会发现布尔运算后的图形的文件结构类似于组的结构。点击左侧的箭头即可展开图形中的子路径列表。在子路径列表的右侧,你可以自由选择布尔运算的类型。
子路径列表的顺序是从下到上的,你执行运算的布尔图层将会和下一层的子路径进行运算。它们的运算结果再和上一层的子路径进行再次运算。
图层平面化
当在Sketch中使用平面化工具时,它会尝试将这个图形中的子路径呈现为一个路径;就是说,扁平化图层结构。但是很多路径是不能被平面化为一个路径的,比如一个环形,只能有两个路径:一个是外圈的圆,一个是内圈的圆。
如果Sketch不能执行平面化命令时,你会看到一个警告提示。但如果你一定要坚持平面化,子路径可能会被替换,也许数量更少,但也许也会更多。
也许你有其它软件的使用习惯,每次做完布尔运算后都要平面化一次。但在Sketch中,你没有必要这么做,只需要在运算好的图形上继续做布尔运算就好。