38

6 个小工具,打造图片批处理工作流

 5 years ago
source link: http://sspai.com/post/53079?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

对于多数文章来说,适当的配图是必不可少,尤其是一篇讲解技巧、评测 App 的文章,离开图就很难理解。

统计工作时间时,我也会特意分开记录打字和配图的时长,尽量真实反应自己的工作状态。

a6bau2F.png!web10% 的时间在配图

上图是我最近写 Power+ 文章的耗时。尽管我已经用上了各路自动化工具,仍然有 10% 的时间花在配图上。

不难看出,相比文章撰写,配图制作的工作量也不小。编辑部的成员,不仅要处理自己文章的配图,出于网站视觉统一的考虑,还要把投稿中的配图修缮一番。

为了给原创性的写作工作腾出更多时间,我一直改进自己的图片处理流程,将其中的机械部分做成自动化动作。一年工作下来,也积累了不少原创小工具:拼接图片、调整尺寸、加阴影、移除信息、转换格式……这些动作,原理上有很多类似之处,又都围绕图片处理这一主题,所以我把它们汇总起来分享给大家。当然,即使你并不常写文章,这些小工具在 PPT 制作、海报编排等工作中也派得上用场。

使用前的准备

我日常用的自动化工具是 LaunchBar,所以本文例图展示的都是 LaunchBar 的场景,不过所有动作都可以移植到 Automator、 AlfredKeyboard Maestro 等其他自动化工具上。

无论下载哪个版本的动作,都需要这两个准备工序:

  • 安装 HomeBrew

    :为方便一会儿装别的第三方图片处理工具。在 Terminal 输入:

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  • 安装 imagemagik :这是一个免费的命令行图片处理工具,虽然没有图形界面,但也因此可以和各种自动化工具打包在一起批量处理图片,而且相比图形化的工具可拓展性更高,有兴趣的读者可以把动作串联起来使用,或者在处理完图片后进行归档、上传到图床等操作。安装 imagemagick 需在 Terminal 输入
    brew install imagemagick

LaunchBar 动作下载后建议重命名文件。为了方便识别,我提供的部分动作可能是中文名的,但你得换一个英文名或拼音名,不然 LaunchBar 无法显示它们。

Qj2Iber.png!webLaunchBar 动作

Automator 动作下载安装后可以直接在右键菜单中看到。

rM3EVvq.png!webAutomator 动作会出现在右键菜单里

令人宽心的是,这些动作在使用时全程不用打开 Terminal,也用不着输入任何代码。下面我们来看看这些动作是怎样工作的,并重点了解一下我们可以自定义的部分。

拼接图片

拼接图片听起来毫无技术含量,不过大家不妨回忆一下,一般人在 Mac 上是怎么操作的?你可以观察一下身边的人,相信绝大多数都是把几张图片导入 Photoshop,手动对齐,再导出新图片。这一轮操作下来,固然耗时不多,但每天处理十几张配图就能让人怀疑自己的工作意义。机械的事情当然要尽可能交给自动化工具。

在 imagemagick 里, 我们可以横向、也能纵向拼接多张图片 ,并且可以预设间距、背景颜色,免去手动导入、拖拽的麻烦。具体会用到这两条代码:

convert 图片1 图片2 图片3 … -background none +append 输出图片
convert 图片1 图片2 图片3 … -background none -append 输出图片

其中 -background none 可能稍有些费解,其实它表示采用透明背景,毕竟实际操作中我们常常遇到需拼接的图片尺寸不同的情况,此时对不齐、多出来的部分若是塞上一块色块就会很难看,用一个透明背景则会让成品图更自然。

3euM3ym.png!web 拼接效果对比,加工前的色块很碍眼

当然,你不会希望每次都敲一遍命令的,所以了解完 imagemagick 拼接图片的原理后,我们就把命令整合进 LaunchBar。所幸 LaunchBar 对变量的输入输出控制得非常好,我们一次性导入多张图片也没有问题。

以横向拼图为例,在 LaunchBar 里新建一个动作(如果你不知道怎样新建,可以看这篇文章,动作的设置也是一样的)把下面的代码直接拷贝进去:

PATH=$PATH:/usr/local/bin/

ARG="$1"
ddate=`date +%Y-%m-%d-%H%M%S`
ooutput="${ARG%/*}/concact-$ddate.png"

convert "$@" -background none +append "$ooutput" && afplay "/System/Library/Sounds/Submarine.aiff"

至于纵向拼图的代码,其实只是把 +append 换成 -append ,你可以自己完成,这里不重复贴出了。

我对于基础的拼图命令做了点优化,把生成的图片命名为 concact-当前日期时间 ,避免和原有的文件冲突,并且新图和原图放在同一个文件夹里。另外,在图片处理成功后还会发出提示音,如果你不喜欢听到频繁的通知音,可以直接删除  && afplay "/System/Library/Sounds/Submarine.aiff"  这一部分。

在使用的时候, 图片会根据被选中的先后从左到右或从上到下地排布,如果你希望某一张图片排在前面,就先选中它,再点选其他图片 。每期编排 Shortcuts Gallery 上新文章时,拼图动作都可以节省我打开专业修图软件的时间。

FbyYVrQ.gif横向拼接图片

横向/纵向拼图这组动作我用了很久了,也和一些读者分享过,他们发掘出了更多的应用场景。比如 @谭小熊 就反馈过一个意想不到的用法: 制作照片墙

UZrM7zi.jpg!web

这种人头攒动的图大家在各种公益活动上都看过,但你可能不知道,不少主办机构都是一张一张手动拼接的,非常低效;谭小熊则把图片分成几组,横向拼了几行,再纵向拼在一起,几分钟就完成了拼图。看到自己的动作被读者活用,没有什么比这更让制作者开心的。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK