介绍
Sharp 是高性能的图像处理库,使用了libvips,速度极快,它提调整尺寸、剪裁、旋转、转换格式等图像处理功能,下载量在同类仓库中比较高。
使用镜像
使用镜像,避免安装时进行 node-gyp 编译,可以省去安装对应编译环境,提升安装速度。
--sharp_binary_host="https://npmmirror.com/mirrors/sharp"
--sharp_libvips_binary_host="https://npmmirror.com/mirrors/sharp-libvips"
常用方法示例
获取元素尺寸:通过 .metadata()
方法获取图像的元数据,包括宽度和高度信息。
const sharp = require('sharp');
let imagePath = 'input.jpeg'
sharp(imagePath)
.metadata()
.then((metadata) => {
// 宽度、高度等
console.log(metadata, metadata.width, metadata.height);
})
使用 rotate()
旋转图片。
sharp(imagePath)
.rotate()
使用 .resize()
方法将图片剪裁图片。
sharp(imagePath)
.resize(200, 400, {
fit: 'cover',
position: sharp.gravity.north
})
使用 .toBuffer()
方法获取图片的 buffer 对象,进行操作,或者使用 .toFile()
方法将处理后的图片保存到指定路径。