nodejs实现多种图片类型的图片压缩
时间: 2023-08-15 09:31:55 浏览: 141
Nodejs实现图片上传、压缩预览、定时删除功能
Node.js可以通过使用不同的库来实现多种图片类型的图片压缩。以下是一些常用的库及其支持的图片类型:
1. `sharp`:支持 JPEG、PNG、WebP、TIFF、GIF、SVG 等多种图片类型的压缩。
```
const sharp = require('sharp');
sharp('input.jpg')
.resize(200)
.toFile('output.jpg', (err, info) => {
console.log(info);
});
```
2. `imagemin`:支持 JPEG、PNG、GIF、SVG、WebP 等多种图片类型的压缩。
```
const imagemin = require('imagemin');
const imageminJpegtran = require('imagemin-jpegtran');
const imageminPngquant = require('imagemin-pngquant');
(async () => {
const files = await imagemin(['images/*.{jpg,png}'], {
destination: 'build/images',
plugins: [
imageminJpegtran(),
imageminPngquant({
quality: [0.6, 0.8]
})
]
});
console.log(files);
})();
```
3. `jimp`:支持 JPEG、PNG、BMP、GIF、TGA、DDS、HEIC、SVG 等多种图片类型的压缩。
```
const Jimp = require('jimp');
Jimp.read('input.jpg')
.then(image => {
image
.resize(200, Jimp.AUTO)
.quality(60)
.write('output.jpg');
})
.catch(err => {
console.error(err);
});
```
以上是部分常用的 Node.js 图片压缩库,你可以根据自己的需求选择适合自己的库来实现对应图片类型的压缩。
阅读全文