知识点:

  1. 操作:注释(Comment)
  2. 操作:无(Nothing)
  3. 操作:删除照片(Delete Photos)
  4. 附录:各设备的宽高像素值
带壳截图拼图

我们来回顾一下上一节我们没有解决的,关于带壳截图可能会出现的需求:

  1. 批量处理多张截图
  2. 能处理纵向截图也能处理横向截图
  3. 能将多张截图横向拼在一起
  4. 能同时处理多张不同设备的截图

要做到所有这些,特别是第 4 点解决所有设备的带壳截图是项比较大的工程。但是实际上,解决所有设备的带壳截图,和解决同一个设备的横竖两个方向的带壳截图,在原理上是一样的。只是多增加了一些壳的素材、多增加了一些判断的步骤。

所以我们在这一节,将带着大家解决前三个问题,以 iPhone X(XS)的横竖截图套壳为例,来说明这类捷径的操作逻辑。

注:因为本捷径复杂程度比较高,而且组织方式没有按照以往的「事情发生的顺序」,所以我会在每个部分使用一个「注释」的操作,为使用者说明该部分操作的用意。「注释」不会接受任何数据,也不会传出任何数据,因此它不会影响捷径的运行,只是起到一个提示的作用。

第一步:准备壳的素材

在解决单一问题时,我们思考的方式大多是按事情发生的顺序。比如我们解决一张截图的套壳问题时,捷径的制作方式是:

  1. 获取截图
  2. 获取壳
  3. 套壳

但是当问题批量化的时候,我们应该先把需要的素材都准备好。在套壳截图这个需求里,我们唯一需要准备的素材,就是壳的素材,所以我们首先,应该先把 iPhone X(XS)横竖截图的壳给准备好,并为它们设定变量:

准备好壳的素材并设好变量

第二步:选择处理纵向截图还是横向截图

在这一步,我们要用到「菜单」。我们告诉捷径我们要套壳的是纵向的截图还是横向的截图,然后捷径为我们提供相应的截图:

用「菜单」选择套壳的对象是横向还是纵向的截图

但是在「菜单」之前,我们要添加一个特殊操作「无」。「无」可以保证上一步的结果不会传输到下一步来。为什么要在这里加上这一步?

因为「菜单」的前一步是横向壳的图片,而下一步是「查找照片」。菜单本身不会影响输入输出,所以如果不通过「无」来阻隔横向壳的图片与「查找图片」,查找图片这一步就会从壳的图片来判断有没有符合条件的图片,那样获取的数据自然就是错误的(而且是空的)。

左:加上「无」;右:去掉「无」

通过上图我们就能看出加了「无」和不加「无」这个操作的区别。加了「无」之后,操作之间的间隙变大,操作之间的连线也会消失。这表明两者个操作之间已经毫无关系,互相不会传递数据。

此外,在这里,我们也可以不用菜单,而是先选截图,然后让捷径自动判断我们选的是横向的还是纵向的截图,随后它自动为其套上合适的壳。但问题是,在捷径中,选择图片时我们看到的不是完整的图片,而是一个个正方形的缩略图:

「从列表中选取」中的图片是缩略图

在正方形的缩略图里,不太好判断哪个截图是横着的哪个截图是竖着的。因此我们要用菜单,先选横竖,然后再挑截图,这样就不会错了。

根据菜单选择后,捷径会帮我们筛选出横向或纵向的截图,这时候我们要从中选择我们这次要套壳的图,并且将其设定为变量:

选择图片后将其设为变量

在这里我们用到的操作是「从列表中选取」和「设定变量」,不要忘了把「从列表中选取」中「选择多个」后的开关给打开。

第三步:批量套壳

选完截图之后,我们就要来进行批量套壳了。

因为要处理两种不同的截图——横向的和纵向的,所以我们要根据不同的截图的宽度,来告诉捷径我们想用为它套哪个壳。所以这里我们需要用到「如果」这个操作。

告诉捷径我们要套壳的是横向还是纵向的截图

先用「获取图像的详细信息」来获取图片的宽度,随后接「如果」,如果输入「等于」1125(iPhone X/XS 截图的宽度)那么说明它是纵向的截图,就给它套纵向的壳。否则就套横向的壳。

套壳的步骤和原理我们在上一节《12–1 图片操作:单张纵向带壳截图》已经讲过。我们要先以壳为底,把截图放在上面,随后再把壳叠在合成过的图上面,来完成带壳截图:

套壳操作组合

先以壳为底,就要获取壳的变量,因为「如果」中输入的图片宽度等于 1125,说明它是纵向的截图,那么我们就要纵向的壳。所以我们用「获取变量」,来获取在第一步中设好的纵向壳。

接着,「叠放图像」这一步我们放的是截图,也就是现在正在重复的项目,因为我们现在就是在为我们选择的所有截图一张一张重复地套壳。关于「重复项目」这个知识点,我们在《重复相关的操作》中也讲过。

随后,下一个「叠放图像」,我们要在「图像」中选择最初在第一步中设定好的纵向壳的变量,因为这次我们要把壳,放在截图的上方。

横向截图的逻辑也是一样:

套壳(横向)操作组合

这样,不管传进来的是横向的截图还是纵向的截图,不管是多少张,都能准确无误地为其套上壳。最后,让我们为这些带壳截图设定一个变量:

为结果设定变量

因为接下来,我们要处理的是是否将带壳截图并排放的问题。

第四步:将带壳截图横向合并

我们已经解决了最棘手的部分,现在只剩下将这些带壳截图合并在一起了。

其实我们现在关于捷径的知识已经足以做到这一点了。要做这样的图只需要满足两个条件:

  1. 有多张带壳截图
  2. 将其拼在一起

第一步我们已经有了,而拼在一起的捷径操作,我们在第一周拼接旅行照长图中就介绍过,是「拼接图像」。

那么我们应该怎么处理这部分的逻辑呢?

首先我们要问,获取的带壳截图到底是一张还是多张,因为如果只有一张,那就没有必要拼接了嘛,一张图还跟谁拼。

所有我们首先,使用我们已经用过多次的「计数」操作,来判断,上一步传下来的结果,到底有几项。

通过「计数」判断结果数量

接着,我们接上「如果」,如果传进来的结果「大于」 1,那就要问,我们要不要把它们拼在一起。因为很多时候我们也未必就需要把多张带壳截图拼在一起,我们有可能只想保存多张单张的带壳截图。

那么我们在这里使用菜单,菜单的选项是:

  • 帮我拼接
  • 不用了
在「如果」中的「菜单」

当我们选择「帮我拼接」时,就获取第三步中我们为带壳截图设定的变量,然后在它后面接上「拼接图像」,选择「并排」和「水平」,间距的单位是像素,根据个人喜好决定就可以,我一般会设为 16 像素。

而如果我们选择了「不用了」,那就说明不需要帮我们拼接这些图片,我们只要获取带壳截图的变量,让它们等待着下一步对这些带壳截图的处理即可。

最后,不要忘了,我们的「菜单」是处于一个「如果」之中,如果带壳截图「大于」 1 时,它才会弹出菜单。如果不大于 1,那就说明带壳截图只有一张,这样我们还是直接获取带壳截图的变量,等待下一步对它的处理。

等待着对它的什么处理呢?其实就是查看结果了。我们已经获取到了这些带壳截图,不管是拼还是不拼,一张还是多张。到目前为止所有操作都已经进行完毕,到了查看结果的时候。所以我们在最后接上「快速查看」。

使用「快速查看」的原因是它既可以查看结果,也可以在查看结果后分享或者保存结果。但是如果你觉得不需要查看结果,想直接分享或者直接把它保存到相册,可以把「快速查看」替换为「分享」或「存储到相簿」。

完整操作及效果展示

捷径下载:带壳截图

现在我们已经把带壳截图这个需求的主要逻辑给彻底搞明白了。剩下的关于带壳截图的问题,比如可以为任何设备套壳等,就只是数量和逻辑的嵌套而已,各位可以按照自己的需求对捷径进行修改。

最后附上各主流设备宽和高的数据,以便大家制作捷径。


附录:各 iOS 设备宽高数据

机型宽 x 高
iPhone XR1792 x 828
iPhone XS(X)2436 x 1125
iPhone XS Max2688 x 1242
iPad 9.72048 x 1536
iPad 112388 x 1668
iPad 12.92732 x 2048
Apple Watch 44368 x 448
Apple Watch 42312 x 390
Apple Watch 40324 x 394
Apple Watch 38272 x 340

其它设备机型(官网资料):

练习与私教

练习:在最终分享或储存过带壳截图后,将原本的不带壳的截图删除。

提示:非超纲。在现有捷径的最后,获取之前选择的截图,再接上「删除照片」这个操作即可。

私教:套壳截图类的捷径,对素材以及对叠放图片这个操作的了解程度,要求都很高。但叠放图片逻辑比较复杂,可以说是捷径里隐含信息最多的操作之一,写清楚它的逻辑又过于枯燥。所以如果你使用了自己的素材,不能很理想地完成这个捷径,可以在群里单独咨询我。