如何用快捷指令批量清理截图状态栏
2024-5-4 11:58:18 Author: sspai.com(查看原文) 阅读量:13 收藏

作为 2024 年五一「生产力超频」系列目优惠活动的一部分,本期设置为限时免费,欢迎观看。我们将在 5 月 1 日至 7 日,为热门付费栏目「生产力超频」全系列设置七折优惠;同时,我们将每天从不同教程中选出一篇,设为限时免费。希望这些内容和优惠为你助力,开启一个效率和技能「超频」的五月。进一步了解

今天的限时免费内容来自《学得会的快捷指令》,演示一个非常实用的图像处理实例:批量清理截图状态栏。本栏目从我们日常最容易用到快捷指令的场景入手,带你走过「发现需求—研究重点功能模块—用快捷指令解决需求」的完整路径。栏目原价 59 元,折后价 41.30 元(节省 17.70 元)。前往购买


在熟悉了图像与文本处理的基础后,我们也为你准备了相关的实例分析,希望能帮你更好地消化相关内容。

如果你经常看少数派的文章,或许会发现许多作者在制作文章配图时,设备的状态栏显示的都是满信号、满电量,时间则是 9:41。这样的「演示模式」不但可以统一截图中状态栏的风格,也可以避免不必要的隐私泄露问题。

一般来说,Picsew 一类的第三方 app 都支持「清理状态栏」的功能。但这些 app 通常需要我们一张张手动选择截图、清理状态栏、导出,如果只是一两张截图还好,如果需要同时处理大量截图,手动操作的效率显然就太慢了。

此时,如果用快捷指令来批量清理,就能帮我们省下不少时间。

🔗 点击下载 >

拆解需求

既然要写快捷指令,那么我们按照惯例来拆解一下需求:

  • 批量选择:手动或自动选择要清理的截图;
  • 自动处理:在快捷指令接入第三方 app 清理状态栏并保存;
  • 自动善后:批量删除清理好状态栏的截图原图。

从上面的需求不难看出,它的核心其实是「选择 - 处理 - 删除」流程。这一套流程可以应用在绝大多数的图像处理快捷指令中,即便是批量加水印、裁切等需求都可以用这一套流程来解决。

其中每个需求对应的动作大致固定:

  • 选择:查找照片、选择照片……
  • 处理:图像处理相关的动作等;
  • 删除:删除照片。

在明确好需求与流程后,我们就可以开始着手进行快捷指令的编写了。

选择截图

如果只是选择截图的话,相信你的脑海中一定浮现出了「选择照片」这个动作。的确,手动选择截图是最稳妥且符合直觉的方法,不过既然我们都用到快捷指令了,何不尝试些更高效的方法呢——比如自动选择。

在接下来的例子中,我们将搭建一个全自动的截图选择模块,它需要做到以下两点:

  • 默认情况下,自动选择过去 2 小时内的所有截图;
  • 如果没有获取到截图,便弹出手动选择框作为备选。

而要达成这两点,在快捷指令中也仅需要 3 个简单的动作:「查找照片」「如果」「选择照片」

首先,我们添加一个「查找照片」,并按照下图设置筛选条件:

其中的时间可以按照自己的实际需求进行调整,但其中的 拍摄日期是今天 不能删掉。因为我们在说「获取最近 2 小时截图」时,其中有一个「今天的最近 2 小时」的隐藏条件,但快捷指令并不能读出来。于是,它便会忽略日期信息,只依靠时间范围来判断,即使是 3 年前这个时间截的图也会被算进来。

因此,我们需要事无巨细地把限制条件通通告诉快捷指令,才能更好地获取我们需要的照片。

接着,我们要添加一个「如果」来判断「查找照片」是否获取到了对应的截图。

这里之所以使用「没有值」,是因为这样能够让快捷指令更直观易懂。我们这里要做的判断是如果快捷指令没有获取到截图,就开始手动选择,使用「没有值」会更符合判断的逻辑。

接着,我们只要在「如果」判断中加入「选择照片」的动作,并点击「展开」勾选「选择多张」即可。

这样一来,我们只用到 3 个动作就实现了自动选择最近 2 小时的截图提供手动选择的备用方案两个需求。但我们还需要将这些照片传递到后面的动作,怎么办呢?

没错,用「变量」就行了。

我们只需要为「如果」判断中加入两个「添加到变量」动作,一个在「选择照片」后面,一个在「否则」后面。

因为第一个「添加到变量」会自动获取「选择照片」所输出的结果,因此我们不需要做额外的操作,只需要将第二个「添加到变量」的 照片 通过「选择变量」修改为「查找照片」所筛选出来的照片就行。

需要注意的是,两个动作中变量的名称要保持一致,避免后续调用时产生错误。

图片处理模块

在这个例子中,我们将会用到 Picsew 的 URL Schemes 功能来实现快捷指令与第三方 app 的联动。此功能需要购买 Picsew 专业版,你也可以根据自己的使用习惯选择其他 app 来实现相同的效果。

先给不了解 URL Schemes 的朋友简单介绍一下,URL Schemes 就像连接不同 app 之间的桥梁,应用 A 可以通过 URL Schemes 来访问应用 B 中的特定功能。在这个快捷指令里,它起到的作用如下:

  • 告诉 Picsew 快捷指令选择了哪些截图;
  • 告诉 Picsew 需要做哪些动作(比如清理状态栏、保存照片等)。

如果你想详细了解 URL Shemes,可以阅读这篇文章,本文不做过多展开。

在开始编写这个模块之前,我们得先对 Picsew 的 URL Schemes 规则有一些了解:

  • 照片输入规则:支持获取剪贴板最近 N 张图片最近的截图
  • 照片处理规则:支持套壳截图清理状态栏移除滚动条等;
  • 照片输出规则:支持输出到剪贴板保存至相册保存并拷贝至剪贴板

从上面可以看出,最适合这个快捷指令的选项应该是:

  • 照片输入:剪贴板(in=paste)
  • 照片处理:清理状态(clean_status=yes)
  • 照片输出:保存至相册(out=save)

此时你或许会有疑问,明明 Picsew 支持「最近的截图」,为什么还要用快捷指令来获取呢?因为 Picsew 中「最近的截图」所对应的是「生成长截图」的场景,也就是「获取最近的所有截图,并拼接为长截图」。

而我们要做的是「导入单张照片,只清理状态栏」,因此我们需要用快捷指令来做筛选、导入的工作。

在明确了需求后,我们就能得到这样一条 URL Schemes:

picsew://x-callback-url/scroll?in=paste&clean_status=yes&out=save

在明确了 URL Schemes 之后,我们就可以开始编写模块了。

我们需要先添加一个「为每个项目重复」的动作,将所有照片拆分为单张照片进行处理。接着,添加「拷贝到剪贴板」的动作,并将重复项目(也就是当前这个重复中处理的单张照片)拷贝到剪贴板。

接着,在重复中添加一个「打开 X-Callback URL」,并将刚刚的 URL Schemes 粘贴进去。

同样只用到 3 个动作,图片处理模块就写完了。比想像中的要简单吧?这个模块的自由度也很高,只需要修改「为每个项目重复」里的动作就能实现不同的效果。

删除模块

说是「模块」或许有点夸张了,实际上这一步只需要在「结束重复」后添加一个「删除照片」动作,并且将要删除的照片设定为变量「照片」。

在实际使用过程中,我们只需要点击运行快捷指令,然后等它自动执行动作即可。期间设备会在快捷指令和 Picsew 之间反复跳转处理照片。

在结束后,设备会弹出一个窗口询问你是否要删除照片,此时点击「删除」即可。我们也可以选择「始终删除」。这样我们之后再运行这个动作时,快捷指令就会自动替我们删除掉所有照片,而不会弹窗提示了。

至此,批量清理截图状态栏的快捷指令就算完成。

© 本文著作权归作者所有,并授权少数派独家使用,未经少数派许可,不得转载使用。

订阅栏目查看完整内容

已购买过,登录查看

Tp

Tp


文章来源: https://sspai.com/post/79283
如有侵权请联系:admin#unsafe.sh