集成 Zipic 能力
Zipic 提供了 URL Scheme 支持,不管是脚本还是其它 APP 都可以通过 URL Scheme 获得 Zipic 完整的图片压缩能力。
URL Scheme
Zipic 提供的 URL Scheme 为:zipic://compress
。
通过 URL Params 可以指定要压缩对象和压缩选项。
指定压缩对象
可以指定多个压缩对象,压缩对象可以是图像路径也可以是目录路径。
指定压缩选项 Pro 版独享
压缩等级
等级越高,压缩的空间越大,质量越差。通常情况下,2级或3级可以在质量和大小之间取得平衡,但效果可能因格式而异。
参数: level
,双精度类型
范围: 1~6,步长: 1.0
文件保存目录
参数: directory
,保存文件的路径,字符串类型
如果希望指定保存文件的目录,必须使用 location
选项并设置为 custom
。
参数: location
,字符串类型,可选如下:
original
custom
要将文件保存到默认目录,还必须启用 specified
选项并设置为 true
。
参数: specified
,布尔类型,默认值为 false
true
false
转换格式
参数: format
,字符串类型
所需转换的目标格式。
可选值:
original
jpeg
webp
heic
avif
调整尺寸
参数: width
,双精度类型
指定调整后的宽度,默认值为 0
,表示自动调整。
参数: height
,双精度类型
指定调整后的高度,默认值为 0
,表示自动调整。
将图像宽度调整为1920像素,同时保持原始高度比例。
使用示例
终端中使用
以压缩图片 /Users/5km/Downloads/CleanshotX/demo.png
为例,将其转换为 webp
格式,并保存到用户下载目录。
根据我们的需求,可以构造如下 URL Scheme:
在终端中可以使用 macOS 的 open
命令来调用 URL Scheme。
视频中展示了在 iTerm2 中使用 open
命令调用 URL Scheme 的完整过程,压缩图像也顺利以 webp 格式保存到用户下载目录。
快捷指令调用
通过 macOS 下的 快捷指令 和 Zipic 的 URL Scheme 可以实现快速对访达内选中的图像或目录进行压缩。如下图为 Zipic 快捷指令的完整配置:
解释一下整个实现配置:
- 获取访达中选中的文件列表
- 将文件列表解析为文件路径列表保存到
paths
变量中 - 遍历
paths
对每一项编码为url=重复项
的格式,保存到urls
列表 - 用
&
拼接urls
列表每一项保存得到 URL params - 将
zipic://compress?
与 URL params 组合为 URL - 打开最终的 URL 就会触发 Zipic 压缩图像
下载快捷指令后需要导入到 快捷指令,然后勾选访达并设置快捷键,这样我们就能快速压缩 访达 中选中的图像和目录啦。
编程调用
理论上讲可以使用任意编程语言调用 Zipic 的压缩能力,只要这门编程语言支持打开 URL。以 终端中使用 的压缩目标为例,下面是不同编程语言的实现方式,简单列几种:
目前我们基于 URL Scheme 实现了 Raycast 扩展,方便 Raycast 用户可以快速压缩访达中的图像,阅读《Raycast 扩展》 了解更多。
针对开发者群体,我们下一步计划开发 VScode 扩展实现项目内图像压缩,敬请期待。