如何将 jimp 对象转换为节点中的图像缓冲区?
How convert jimp object to image buffer in node?
因此,我使用一些库以特定方式将可数图像合并为一张图像。
这个库使用 Jimp 库来完成它,并且最终加入 return 一个 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
对象,而不将图像作为文件写入光盘,return Buffer
以便在后续步骤中使用它.
可能吗?我在 Jimp DOC 中找不到任何内容。当我尝试将 Jimp.bitmap.data
写入文件时,此图像已损坏...
谢谢!
所以,我找到了解决方案。 Jimp 库中有一个方法可以做到这一点。但是文档中没有一行没有描述这一点。工作解决方案:
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>
这对我来说非常有用。
因此,我使用一些库以特定方式将可数图像合并为一张图像。
这个库使用 Jimp 库来完成它,并且最终加入 return 一个 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
对象,而不将图像作为文件写入光盘,return Buffer
以便在后续步骤中使用它.
可能吗?我在 Jimp DOC 中找不到任何内容。当我尝试将 Jimp.bitmap.data
写入文件时,此图像已损坏...
谢谢!
所以,我找到了解决方案。 Jimp 库中有一个方法可以做到这一点。但是文档中没有一行没有描述这一点。工作解决方案:
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>
这对我来说非常有用。