Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将jimp对象转换为节点中的图像缓冲区?_Javascript_Node.js_Image_Buffer_Jimp - Fatal编程技术网

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

Javascript 如何将jimp对象转换为节点中的图像缓冲区?,javascript,node.js,image,buffer,jimp,Javascript,Node.js,Image,Buffer,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
对象。像这样:

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{
_背景:0,
位图:{
数据:,
宽度:768,
身高:768
}
}
加入后,我需要将此
Jimp
对象转换为节点
缓冲区
对象,而不将图像作为文件写入光盘,并返回
缓冲区
,以便在接下来的步骤中使用

可能吗?我在Jimp文档中找不到任何东西。当我尝试将
Jimp.bitmap.data
写入文件时,此图像已损坏


谢谢

所以,我找到了解决办法。Jimp lib中有一个用于此的方法。但文档中没有一行不描述这一点。工作解决方案:

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>


这对我来说非常好。

缓冲区可能是原始图像数据。您需要哪种格式的图像?巴布亚新几内亚?JPEG?@cubrr,我需要png图像。假设这个缓冲区代表缓冲区中每4字节一个像素:三个rgb值和一个alpha值。@cubrr,是的!没错,我自己去找就行了。谢谢