Member-only story
如何用 Python 智能批量压缩图片?
本文一步步为你介绍,如何用 Python 自动判断多张图片中哪些超出阈值需要压缩,且保持宽高比。如果你想了解 Python 图像处理的基础知识,欢迎动手来尝试。
痛点
我喜欢用 Markdown 写文稿,然后发布到不同写作平台。我的好友数字游民 Jarod 称其为 “矩阵式发布”。能这样做的前提,是 Markdown 为我们带来了极低的边际发布成本。试想如果每个写作平台,都需要我手动插入 20–30 张图片,想想都眼晕,我估计立刻会打消发布念头。
我使用七牛作为图床。图片链接成功转换后,选择一款渲染工具,预览文稿格式,看图片、表格、标题等特殊样式是否显示正确。
我曾经用过多种渲染工具。最近我一直在用 Md2All。
这款工具最大的特点,是能保证粘贴到各个写作平台时,代码不会乱掉。
点击右上方的 “复制” 按钮,你就可以在任何一个写作平台上,开启富文本编辑器,然后粘贴进去。
工作进行到这一步,已近大功告成。这时,如果你遇到 “图片上传失败” 的报错,想必会很影响心情。
图片上传失败,原因可能有很多。
许多情况下,只是单纯因为网络拥塞。只要你本着愚公移山的精神,往复重新粘贴,总会好的。
但是微信公众平台是个例外。
你时常会遇到这种情况 — — 就是那两张图片,死活也无法正常传上去。
踩坑多次,不得不手动上传图片后。我终于发现了问题所在 — — 微信公众平台对图片大小有限制。
一旦你要上传的图片超过 2M,就无法正常粘贴上传了。
莫非我写作文章时,还要一一检验每张插图的大小?超过阈值的图片压缩,然后再上传?
对我这种插图爱好者来说,这个工作太过琐碎和枯燥了。
你可能会问,不是有许多工具可以批量修改图片大小吗?例如JPEGmini和TinyPNG之类的?
确实有,但是它们不完全符合我的需求。