我gm
用于调整图像大小。现在,我了解了webp
如何加快网站速度。所以我想将图像转换成webp
使用相同的库。但是以下方法不起作用。
如何将图像转换成webp
by gm
?
function resize(last) {
self.resize(width, height)
.quality(80)
.strip()
.gravity('Center')
.toBuffer(imageType, function(err, buffer) {
if (err) last(err);
else last(null, buffer);
});
},
编辑
gm('thumb_3.JPG')
.toBuffer('webp', (err, buffer) => {
fs.writeFile('buffer.webp', buffer, console.log)
})
我也用这段代码
您所要做的就是致电:
.toBuffer('webp', (err, buffer) => { /* ... */ })
或使用 streams
.stream('webp');
但是要使其正常工作,您必须使用webp显式安装imagick
brew install imagemagick --with-webp
否则,请直接安装graphicsmagick
支持的软件webp
。
取决于您的操作系统:
Ubuntu / Debian的
sudo apt-get install graphicsmagick
苹果系统
brew install graphicsmagick
对于Windows或其他操作系统,请检查:
工作示例:
const fs = require('fs');
const gm = require('gm');
gm('/tmp/img.jpg')
.stream('webp')
.pipe(fs.createWriteStream('/tmp/img.webp'));
gm('/tmp/img.jpg')
.toBuffer('webp', (err, buffer) => {
fs.writeFile('/tmp/img-buffer.webp', buffer, console.log)
})
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句