惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
J
Java Code Geeks
博客园 - 聂微东
量子位
C
Check Point Blog
T
The Blog of Author Tim Ferriss
T
Tailwind CSS Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
B
Blog
罗磊的独立博客
腾讯CDC
GbyAI
GbyAI
博客园 - 【当耐特】
A
About on SuperTechFans
M
MIT News - Artificial intelligence
U
Unit 42
D
Docker
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
S
SegmentFault 最新的问题
有赞技术团队
有赞技术团队

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
终端,又一个快速处理图片的 Option - 少数派
2020-03-05 · via 少数派

很多时候,突然遇到需要拼图或制作动图,这时,为了单纯的做一张效果图,调出各大内存燃烧专具图片处理软件过于繁琐,但专门去下载一个 “一次性” 软件又不那么方便。命令行工具 ImageMagick (IM) 提供了一个集万物于一身的快捷处理方式

动图 Animation

因为学生党,经常会需要给别人发 step by step 教程,这种时候如果截一堆图然后按顺序一张一张发过去,自己麻烦对方看着也麻烦

一打要「云丢」出去有关新冠病毒的截图

这时候,把 n 张截图快速的做个动图就显得整洁很多

$ convert -delay 100 -loop 0 第一张.png 第二张.png 第三张.png 第四张.png 动图名字.gif

  • -delay 后面的 100 代表的是 1 fps,即每秒一帧

如果想在动图中额外暂停,可以在对应的图片前插入 -delay 100 来实现

$ convert -delay 100 -loop 0 第一张.png -delay 100 第二张.png 第三张.png 第四张.png 动图名字.gif

  • 在第二张图之后会额外暂停一秒

‼️注意

  • 如果动图没有完成,不要直接生成.gif的文件,在再制作时会出现撞帧的 bug。IM 提供了一个解决方案,可以将动图生成为 IM 的内部格式 .imff

图片大小和格式更改

有时候手上有一张 .png,但因为上传大小受限,.jpg 可能是更好的选择,这时可以选择用把图片转换格式

magick convert 图片.png 输出的图片.jpg

如果转成 .jpg 大小还不够,可以顺手再把图片分辨率也砍一下

magick convert 图片.png -resize 50% 输出的图片.jpg

  • 输出一张长宽像素数都是原图一半的图

magick convert 图片.png -resize 100x 输出的图片.jpg

  • 输出一张长度不变、宽度为 100 像素的图

magick convert 图片.png -resize x100 输出的图片.jpg

  • 输出一张宽度不变、长度为 100 像素的图

magick convert 图片.png -resize 100x100 输出的图片.jpg

  • 输出一张长宽分别为 100 像素的图

如果需要的话虽然应该不太会用到,裁剪图片的指令如下

$ convert -crop 想要的宽度x想要的长度+开始的宽度+开始的长度 要剪裁的图.jpg 输出的图.jpg

想要的长宽都可以是像素或者原图尺寸的百分比

拼图:一条指令拼长图

拼图,真的很伤。在大多常用图片编辑软件中都没有直接拼图的功能,经常只能扩大其中一张图的尺寸,再将另一张图片粘贴进去,不但耗时,还很繁琐。而 IM 为终端加入了一个“一键”拼图的功能

$ convert -append 第一张图.png 第二张图.jpg 成果图名字.jpeg

-append是竖向拼图;+append代表横向。支持不同格式图片的拼图,输出的图片也可以自己定义

当然,这种时候因为截图名称的格式问题,手打名字很不方便,整理提供两种解决方案

  • 最简单的是把文件通过 Finder 直接拖拽到 Terminal 窗口中,Terminal 会自动获取路径
  • 当然,如果同时合成多张图片的时候,拖拽容易出错,这时多选文件之后右键 > 重命名多个项目 > 格式,快速批量重命名
  • 同样,如果蕾丝操作内容比较多,可以借用一个简单的 Automator Quick Action 重命名一下文档

‼️注意

  • append 拼图只有单纯的拼接功能,对不同大小 / 分辨率的图片无能为力

叠图:加上水印

偶尔需要叠加一个水印,但等打开 Photoshop,叠加一张水印,再导出到 .png

$ magick composite -gravity center 叠印上的图.png rose: 底图.png

center 代表叠印的图片将叠加在图片正中间 left 和 right 可以将图片叠在两侧

好玩的小功能:加密

$ magick 要加密的.png -encipher 密码文件.txt 加密后输出的名字.png

这段命令会把 要加密的.png 通过 密码文件.text 制作一张加密图,图片将由根据图片和文件组合生成的噪点代替

$ magick 加密后输出的名字.png -decipher 密码文件.txt 解密后输出的名字.png

上面的这张图会通过密码文件和噪点图复原原图,再把这张图输出

‼️注意

  • 要保存好加密文件,一旦文件丢失,图片就再也恢复不了啦
  • 密码文件.txt 可以通过另一张图片 密钥图片.png 来代替,即用另一张图片来加密这张图片
  • 文件的 Metadata 会被保留,如编辑信息等,这个功能只单纯的更改图片的像素排列

最后

文中简述了 5 种日常会用到的功能,而在 IM 的官网上提供了 34 类不同的命令,包括许多进阶的操作,感兴趣的同学可以仔细研究

‼️所有这些功能都是在图片编辑软件中能完成的操作,本文只是单纯的介绍了一种快速、终端内能完成的解决方式。细节方面指令能做的也有限,如果想要精细的编辑,还是老老实实把内存推起来吧