如何用 ImageMagick 转换图片格式?

3c0646ad7bc1dfde916d3b5af7955be8.png

题图:Photo by  Alvin Lenin on  Unsplash

我们日常接触到的图片格式,主要是 jpg 和 png,还有动图 gif 。但如果你使用过不同的编辑器,那么很可能遇到过一些「奇怪」的图片格式。

例如 Ulysses 里面的 tiff,Bear 里面的 heic ,以及 theBrain 里的 webp 。我并不是说这几个格式只出现在上述笔记应用里,而是它们会保持这些格式。

这些扩展名的文件,都是啥东西?

其实,它们也是普遍应用的图片格式。只不过,有些其他笔记工具或编辑器在渲染这些图片的时候,会出问题。

例如 Roam Research ,渲染起来 tiff 或者 heic 图片,会无法正常显示。

所以,如果你经常需要用到 Markdown 格式写作内容,希望自己用到的图片,可以在本地和图床间快捷搬运、渲染,乃至于最终的各种呈现过程(自己浏览、Web 分享给他人,或者发布)都顺滑无碍,那么建议你还是把它们转换到 jpg, png, gif 等格式。

图片转换的方法多种多样,很多网站提供在线转换服务。

f0eb280b5af32e7b53d19bc416092d86.png

对于偶尔的一两幅图片,这种方法省心省力。无需本地安装任何工具,也不用熟悉具体操作命令。但是如果你转换图片是一个日常工作流程,每天都可能转换若干张图片,这种方法就过于琐碎了。很可能你因为嫌麻烦,导致记笔记和写作的积极性下降。

怎么办呢?

我们可以调用一款堪称神奇的免费图片转换工具,叫做 ImageMagick 。这是它目前可以支持的图片格式,翻动一下就会让人觉得眼花缭乱。

ee06d930fd256955f1db620d7dbe7267.gif

在绝大部分格式之间,ImageMagick 都是支持双向互转的。不过这事儿咱们不必过于理想化 —— 你把一副动图转成了静态图片容易,再试图从静态图片转回动图就不行了。这就好像你能在几分钟内把生鸡蛋煮熟,但是想把熟鸡蛋变回生鸡蛋,就变成前沿科技了。

ImageMagick 转换图片格式的方法,是在命令行下面执行语句。例如 heic 到 jpg,可以这么写:

magick "input.heic" "output.jpg"

就是这么简单一条命令,heic 格式的图片,就变成了我们熟悉的 jpg。

默认的情况下,图片的大小、分辨率等细节都基本保持一致。但是转换了的 jpg 文件,会比原始的 heic 大一些。也难怪有些应用会更愿意使用 heic ,因为体积小,省空间。

命令行方式的好处,在于你可以批量执行操作。甚至可以加入一些判断语句。

例如这是我写的一个脚本。通过语句自动判断图片格式是否为常见类型,并且把非常见类型一律转成 jpg 。

def convert_uncommon_img_types(link): 
    common_img_types = ['.jpg', '.jpeg', '.png', '.gif', '.JPG', '.JPEG', '.svg', '.PNG', '.GIF']
    link_suffix = link.suffix
    for img_type in common_img_types:
        if link_suffix==img_type: 
            return link
    output_path = Path(image_type_converted_dir)
    if not output_path.exists():
        output_path.mkdir()
    new_suffix = '.jpg'
    new_link = output_path / Path(str(link.name).replace(link_suffix, new_suffix))
    cmd = f'magick "{link}" "{new_link}"'
    os.system(cmd)
    return new_link

我还可以更进一步,把这个脚本放到 Keyboard Maestro 里面,绑定一个快捷键。这样不管我在写作过程中,图片是从什么地方拷贝、脱拽来的,都是一键进行格式化处理,把弄好的结果回传给我。

这样一来,是不是效率显著提升,工作也变得轻松一些了?

如果你觉得 ImageMagick 只有这点儿本事,那么开发者会觉得很委屈。

b0b92525b854afecfc2e5778b810f6c1.png

根据官网介绍,它可以完成以下操作:

ImageMagick 可以调整大小、翻转、镜像、旋转、扭曲、剪切和转换图像,调整图像颜色,应用各种特殊效果,或绘制文本、线条、多边形、椭圆和贝塞尔曲线。

说白了,这就是个图片处理领域的「瑞士军刀」。官网提供了很多样例,你可以参考,来满足自己图片处理的需求。

5714bb8bedb0effb561492edb8686751.png

样例图文并茂,还是很详细的。

cee6c34a3ad2d153fa3eeae9ac717f85.png

只不过,还是回到咱们的软件应用使用原则「重器轻用」(善用佳软张玉新老师提出),这简单的一行命令,可以帮助咱们方便处理图像格式转化。如果你没有大批量图片调色、加文字说明、调整大小等等需求,就了解这一行命令,足够了。千万不用对着 ImageMagick 的帮助文档运气,试图把它从头到尾啃下来。没必要。

小结一下,有些不太常见的图片格式,目前还无法得到全部应用的普遍支持,所以我们需要进行转换。转换的方式里,我最喜欢 ImageMagick ,因为简单,而且可以嵌入自己的自动化工作流程,降低操作的复杂度和成本。

希望这个分享,对你处理自己的图片格式问题,能有帮助。你是否知道其他好用的图片处理应用?欢迎留言,咱们一起交流讨论。

618 快到了,知识星球「玉树芝兰」全年最大折扣优惠。本优惠有效期截至2022年6月20日中午,注意有名额限制。

098ed5cff1907a2358834c7b26b98911.png

感觉有用的话,点赞 +「在看」,把它转发给你身边有需要的朋友。

订阅我的微信公众号,加星标,避免错过新推送提示。

欢迎关注我的视频号,时常更新。

73d68a1e51e3ab590a47fd793b174c62.png

延伸阅读

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值