看电影的时候,我们难免会遇到一些犀利的吐槽或者鸡汤想分享给别人,这个时候截图便是一种简单的方法。通常情况下,截图需要拼接,毕竟金句往往不止一句。在手机上我们有「长图拼拼」「fotoring」等APP,方便快捷,可是 Mac 上呢?我试过用 Photoshop(大材小用)、网页版美图秀秀(垃圾)和各种奇奇怪怪的方法(比如用预览改变图片大小等等),试来试去之后我怒了,每每同步到手机拼接再同步回去,不胜其烦。
直到我在少数派的 Power+ 教程里看到 Mac 带壳截图,里面介绍的命令行工具 imagemagick 吸引了我。我想这么强大的工具一定可以搞定拼图这件小事的。果然,一番搜索之后发现,只需在终端里输入
convert 截图1.png 截图2.png 截图XX.png -gravity south -append 合并.png
便可以完美得到结果。
但这对我来说是远远不够的。难道每次都要打开终端?输入图片路径?再把没用的图片删掉?笑话。
得益于少数派上 利用 Hazel + Automator 监控并从多个文件夹批量转换图片至 PDF 的启发,对 Automator 和 shell 脚本一窍不通的我开始了跌跌撞撞的尝试,中间极其愚蠢地采用了【定义变量——获取路径——获取文件夹——定义文件夹变量——获取文件夹内容——对变量排序……】种种绕来绕去的方法,最后发现一个【拷贝至剪贴板】的指令就可以完成一切时,我简直想一巴掌拍死自己=。=
总之,方法如下:
(前提:截图文件名不能有空格)
1.通过 Homebrew 安装 imagemagick。(如果你不知道 Homebrew 是什么,参考 这篇文章)
打开终端,输入
brew install imagemagick
2.打开 Automator,新建一个【应用程序】,保存在桌面或者你喜欢的地方。

3.选择【拷贝至剪贴板】——【设定变量的值】,设置为 image(或者其他你喜欢的)。
4.选择【给 Finder 项目排序】——【运行 shell 脚本】。
其中,shell脚本里【传递输入】选择【作为自变量】,填入
PATH=$PATH:/usr/local/bin/; convert $@ -gravity south -append /Users/XXX/Desktop/合并.png
其中,PATH=$PATH:/usr/local/bin/声明环境变量,以分号隔开。后面便是我们开头提到的 imagemagick 合并截图的语法,$@ 是上一步传来的变量,-append 是纵向拼接。如果你想拼成横的,改为 +append 即可。最后是生成的图片,修改路径放到你想要的地方就好了。
5.拼完图原来的图当然是不要了,刚刚我们不是设置了原来的图片为【image】吗,所以【获得变量的值】——【把 Finder 项目移动到废纸篓】。
整个过程如图:


最后的结果是这样的:
(把图片选中,拖动到 App 上,松手,搞定)

我知道 Keyboard Maestro 或者 LaunchBar 之类的工具也能完成,可 Automator 毕竟自带又免费~
总而言之,多多尝试,最后总会成功的!(毫无脚本基础的我研究了半天 $@ 到底是什么 T.T)
最后顺便推荐一下这部带有自传性质的动画电影:我在伊朗长大
