# 如何用nodejs批量处理图片?

1,446 阅读1分钟

这是一篇随记,大致内容就一点,看完简介后可以直接去仓库看代码,非常简单,就十来行

代码示例仓库包含一点点图片资源,并且写好了基础转换需要的脚本。

github/picture-resize/cut.js 源代码示例
官方文档 官方文档示例代码

由于一个需求,需要大量处理图片,将它们转化为统一格式,同一大小,修改圆角等,作为界面的图标。搜罗一番后找到一个宝藏库 lovell/sharp

  • 在无界面的情况下,sharp提供了丰富的功能和api,实现了 裁剪,叠加,高斯模糊,填充,线性转换,图片格式转换等一大堆功能。

  • 支持svg 覆盖,只要你的svg功底足够强,各种图片形状随意裁剪。

  • 配合上nodejs的灵活性,只要你会js就能方便的进行图片转换。

image.png

安装

npm install sharp

yarn add sharp

sharp 需要gyp那一套 vs-builder-tools环境,安装起来略微麻烦,不过只要配置了镜像站,下载不出错都是很丝滑的, 就这一个包,跟着报错走就可以了。

基本用法

sharp(inputBuffer|inputpath)
  .resize(320, 240)
  .toFile(outputpath, (err, info) => { ... });