FW4中重绘路径工具的研究 |
![]() 在上图中那段小小的分叉是新绘制的路径,你可以看到分叉处左边的路径被红色高亮,这表示该段路径将被你重绘的路径所取代,而分叉处右边的被蓝色高亮的路径将被保留。 释放鼠标按钮后红色高亮的路径被重绘的路径所取代。 ![]() 这种判断方式很直观,但在某些特殊情况下由这种方法得到的结果和实际得到的结果不一致。 例如:如果我在上面那幅图的大约中间位置进行重绘(绘制一个小分叉),就像下面这样。 ![]() 得到的重绘结果将与用该方法判断得到的结果相反。 ![]() 显然红色高亮的路径被保留了下来,而蓝色高亮的路径被重绘的路径取代了。一个小Bug,没有什么关系,我们可以用更精确的方法来进行判断。 2、绝对精确但有时会相当不直观的方法:Fireworks用来判断哪段路径将要被重绘路径所取代的准确依据是路径中的点。 在进行路径重绘时,当你在路径上按下鼠标按钮时,以你按下的位置为分界线,可以将路径中所有的点分成两部分,分界线一侧的点为一个集合,分界线另一侧的点为另一个集合,两个集合中哪个集合中的点少,分界线哪侧的路径就将被重绘的路径所取代。当两个集合中的点一样多时,包含起始点的那段路径将被保留,而包含结束点的那段路径将被删除。 在下图的这个矢量路径中,左边的端点是路径的起始点,蓝色圆圈是我重绘时按下鼠标按钮的位置。 ![]() 由于鼠标的按下位置已经包围了一个点,因此这个点不计算在分界线的任何一侧,这样分界线左边的路径中包含五个点,分界线右边的路径中也包含五个点,但由于起始点属于左边的路径,因此右边的路径将被重绘的路径(绘制了一条直线)所取代。 ![]() 如果你不是在路径的中间部分进行重绘,而是在路径的两个端点处按下鼠标进行重绘的,则指针会变成添加路径的形状 ![]() 这时你所绘制的路径将与原先的路径连接到一起形成一条新路径,而不会有任何路径被取代。 【责任编辑:Shiny】 |