Ps:子路径的布尔运算

在“路径”面板的一个路径层上,若存在一个以上的路径时,我们称这些路径为“子路径”。

矢量工具(比如钢笔工具、形状工具以及路径选择工具等)的选项栏上的“路径操作” Path Operations弹出菜单中提供了有关子路径的布尔运算的选项。

bea7ebec741adf37398500ccd7704e59.png

尽管在弹出菜单中将“子路径”称为“形状”,但它们实质上描述的都是子路径的操作。因为“形状”本质上就是附带填充和描边的路径。另外,相对于操作路径,当操作形状时,这些子路径在布尔运算之后的效果将更加直观。

当绘制新的形状或路径时,这个新的子路径可以与已有的子路径即时产生相加、相减、相交、排除的布尔运算。

f7cd2ccfb3ec277d5894477d0b5f5a2a.png

跟选区的布尔运算不同的是,布尔运算模式只是指定给子路径的属性,可在后续任意更改,并只与其下方的子路径产生运算。

在形状图层、矢量蒙版和“路径”面板的路径层缩览图上,可实时看到布尔运算之后的效果,但每个子路径仍然是独立的子路径。

新建图层 

New Layer

只有当选项栏最左侧的“选择工具模式” Pick tool mode选项为形状 Shape时,才能使用此选项,表示每次绘制新形状时将新建一个形状图层。

c4ed483d1a6a8ca7cb5b131e833da7d2.jpeg

上图中绘制了两个椭圆形状图层。

提示:

一般来说,需要设置为不同的填充和描边的形状应该在不同的形状图层上。

d38e5722e7332a0d870bde1de10b335d.jpeg

说明:

可以选中多个形状图层并将它们合并(快捷键:Ctrl + E)为一个形状图层,原来的单个形状成为新形状图层上的一个组件,从路径的角度来看即是子路径。

合并形状 

Combine Shapes

即,“相加”模式,指的是新绘制的或复制粘贴过来的子路径将与路径层上已有的其它路径为“相加”关系。

在绘制新的子路径的同时,加按 Shift 键,可将其指定为“相加”模式。

在合并两个或多个形状图层后,其上的所有子路径均被指定为“相加”模式。

3f1b047d4a278b94beed8033a74f3c3c.jpeg

上图是将两个椭圆形状图层合并为一个形状图层,此形状图层上有大圆及小圆两个独立的子路径。

减去顶层形状 

Subtract Front Shape

即,“相减”模式,将选中的子路径从其下方的子路径范围中减去。

6b955f6f3c244fe7482065cc04cbf34d.jpeg

上图中,小圆在大圆之上,并被指定为“相减”模式,得到了从下方的大圆中减去了小圆的效果。

在绘制新的子路径的同时,加按 Alt 键,可将其指定为“相减”模式。

提示:

此处的“顶层”并非指最上一层,而是将选中的子路径从其下方子路径范围中进行相减运算,只是一种相对的“顶层” Front。所以,本模式应理解为“从其下方子路径中减去”。

再比如,有三个圆,小圆在最上层,中圆在中间层,大圆在底层。选中中圆后并指定为“相减”模式后,中圆只与其下方的大圆产生相减运算。

c92925d74a357a2572cd478373b68138.jpeg

新绘制的子路径,默认在最上一层,即“顶层”。

提示:

可通过点击工具选项栏上的“路径排列方式” Path alignment按钮来改变子路径的上下关系。

如果选中的子路径下方已无子路径,则指定“相减”模式后的效果相当于对选中子路径的范围进行反转。

89b82386cc992180cf0d9800a882de26.jpeg

上图中,大圆在底层且被选中并指定为“相减”模式。

与形状区域相交 

Intersect Shape Areas

即,“相交”模式,将选中的子路径与其下方的子路径进行“相交”运算,得到它们重叠部分的效果。

在绘制新的子路径的同时,加按 Alt + Shift 键,可将其指定为“相交”模式。

b1fdfecb19976f61bbd8be08daed6ce5.jpeg

上图中,多个小圆排列在大圆(底层)与中圆(顶层)的中间,选中它们并指定为“相交”模式之后的效果。

排除重叠形状 

Exclude Overlapping Shapes

即,“排除”模式,与“相交”模式相反,将选中的子路径与其下方的子路径进行“排除”计算,得到排除它们重叠部分之后的效果。

f57dd80bf5f2d557c31c900b7c1142bb.jpeg

上图中,多个小圆排列在大圆(底层)与中圆(顶层)的中间,选中它们并指定为“排除”模式之后的效果。

合并形状组件 

Merge Shape Components

这是真正的合并操作命令,它可将选中的两个或多个子路径合并为一个子路径。

原来的子路径不再独立存在,即不可独立变换。

b1d01114393db7650dc4e6bd162578e4.jpeg

上图中,选中多个白色的小圆并执行“合并形状组件”命令,将它们合并为一个子路径。

下图则是将这个合并后的子路径指定为“相减”模式后的效果。

da81869c147805cfd4a77c4881f24579.jpeg

分离子路径

如果又想将合并前的子路径或自己选中的其它路径恢复为独立的子路径,可先使用直接选择工具选中(加按 Shift 键或框选)所有相关锚点,然后,按 Ctrl + X 键进行剪切,按 Ctrl + V 键进行粘贴,即可在原地分离成独立子路径。

4802d4bb83c54be27796e1f185509370.jpeg

上图中,选中了原来的一个小圆路径,并将其恢复为独立的子路径。

e9d49b09f871f7fd98d6017bb7076885.jpeg

“点赞有美意,赞赏是鼓励”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/233456.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode】栈和队列OJ题---C语言版

栈和队列OJ题 1.括号匹配问题(1)题目描述:(2)思路表述:(3)代码实现: 2.用队列实现栈(1)题目描述:(2)思路表述&…

上海震坤行被评为虹桥生产线互联网服务高质量发展平台

上海震坤行被评为虹桥生产线互联网服务高质量发展平台 10月12日,新一期“潮涌浦江投资虹桥”活动暨“战略赋能新机遇,开放引领新高地”——2023虹桥国际中央商务区投资促进大会在上海虹桥举行。 本次活动旨在释放关于推动虹桥国际开放枢纽进一步提升能级…

rabbitMQ镜像队列的使用

在rabbitMQ集群中,默认发送消息时,队列默认时在一个节点上存在的。 我们以node01 node02 node03三节点集群为例,在node01声明队列发送消息后,发现: 测试队列只在节点node01上出现。 我们手动停止node01后&#xff0c…

scikit-opt几种数值模拟退火的代码示例,和参数详解,以及基础模拟退火的原理代码示例

python基础模拟退火原理示例 模拟退火的特性决定了一般可以用于算法的调参,相比较遗传算法来说,普遍更快一些,但是也更容易陷入局部最优。相对来说,遗传算法的更新解机制是在最每一个局部最优解附近盘旋游荡,则更容易…

MySQL之redo log

聊聊REDO LOG 为什么需要redolog? 那redolog主要是为了保证数据的持久化,我们知道innodb存储引擎中数据是以页为单位进行存储,每一个页中有很多行记录来存储数据,我们的数据最终是要持久化到硬盘中,那如果我们每进行…

卷积神经网络(CNN)注意力检测

文章目录 一、前言二、前期工作1. 设置GPU(如果使用的是CPU可以忽略这步)2. 导入数据3. 查看数据 二、数据预处理1.加载数据2. 可视化数据4. 配置数据集 三、调用官方网络模型四、设置动态学习率五、编译六、训练模型七、模型评估1. Accuracy与Loss图2. …

CSS伪类伪元素?:hover,::before,::after使用(举例)

文章目录 什么是CSS伪类?什么是伪元素?怎么用伪元素?可以做些什么?::before,在标签选择器之前添加内容,::after正好与之相反::before,在类选择器之前添加内容(:制作一个悬浮提示窗 参…

展开运算符(...)

假如我们有一个数组: const arr [7,8,9];● 我们如果想要数组中的元素,我们必须一个一个手动的去获取,如下: const arr [7,8,9]; const badNewArr [5, 6, arr[0], arr[1],arr[2]]; console.log(badNewArr);● 但是通过展开运…

如何快速上手一个自己不太熟悉的新项目?

一.熟悉新项目的步骤 第一步:了解业务 技术本身就是为了业务而服务,只有首先搞清楚了业务之后才真正算是步入了这个项目的大门。因此,要先搞清新项目: 是做什么的? 主要面向什么人群使用?主要提供了哪些功能&#x…

基于Springboot的房产销售系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的房产销售系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring Sp…

uniapp2023年微信小程序头像+昵称分别获取

1、DOM <view class"m-user"><view class"user-info"><!--头像 GO--><button class"avatar avatar-wrapper" open-type"chooseAvatar" chooseavatar"onChooseAvatar"slot"right"><im…

Java实现简单的王者荣耀游戏

一、创建新项目 首先创建一个新的项目&#xff0c;并命名为wangzherongyao。 其次在飞翔的鸟项目下创建一个名为img的文件夹用来存放游戏相关图片。详细如下图&#xff1a; 二、游戏代码 1、创建怪物类 1.bear&#xff1a; package beast;import wangzherogyao.GameFrame;…