如何将jimp对象转换为节点中的图像缓冲区



因此,我使用一些lib以特定的方式将可计数图像连接到一个图像。

这个库使用Jimp库来完成它,并且在所有联接之后返回一个Jimp对象。像这样:

Jimp {
_background: 0,
bitmap: {
data: <Buffer 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... 2359246 more bytes>,
width: 768,
height: 768
}
}

加入后,我需要将此Jimp对象转换为节点Buffer对象,而无需将图像作为文件写入磁盘,并返回Buffer以在接下来的步骤中使用它。

有可能吗?我在吉姆医生那里找不到任何东西。当我尝试将Jimp.bitmap.data写入文件时,此图像已损坏。。。

谢谢!

所以,我找到了解决方案。在Jimp库中有一个方法。但DOC中没有一行不描述这一点。工作解决方案:

const Jimp = require('jimp');
const img = Jimp.read('img.png');
img.getBuffer(Jimp.MIME_PNG, (err, buffer) => {
console.log(buffer);
});

控制台输出:

<Buffer 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 03 00 ... 211452 more bytes>

这对我来说效果很好。

最新更新