图片处理工具包sharp安装和使用

1,664 阅读1分钟

安装

npm i sharp
or
yarn add sharp

直接安装一般无法成功,因为安装过程中需要依赖libvips,这是一个C++的的包,sharp是处理图片的,所以 要依赖环境来处理图片,libvips就是sharp的底层。

使用

  • sharp接收图片路径或者Buffer数据

  • resize方法可以对图片尺寸进行裁剪

  • toFile方法接收一个输出路径,将处理后的图片输出到对应路径下

  • sharp方法执行后返回一个Promise

sharp('input.jpg')
  .rotate()
  .resize(200)
  .toBuffer()
  .then( data => { ... })
  .catch( err => { ... });
  • 并且可以结合async和await使用
const semiTransparentRedPng = await sharp({
  create: {
    width: 48,
    height: 48,
    channels: 4,
    background: { r: 255, g: 0, b: 0, alpha: 0.5 }
  }
})
  .png()
  .toBuffer();

更多使用方法详见官方文档