How convert jimp object to image buffer in node?

10,028

So, I found solution. There is a method in Jimp lib for this. But no one row from DOCs not describe this. Working solution:

const Jimp = require('jimp');

const img = Jimp.read('img.png');

img.getBuffer(Jimp.MIME_PNG, (err, buffer) => {
  console.log(buffer);
});

And console output:

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

That's works pretty good for me.

Share:
10,028
Roman Shmandrovskyi
Author by

Roman Shmandrovskyi

Updated on June 17, 2022

Comments

  • Roman Shmandrovskyi
    Roman Shmandrovskyi almost 2 years

    So, I use some lib to join countable images in specific way to one single image.

    This lib use Jimp library to done it and after all joins return a Jimp object. Like this:

    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
      }
    }
    

    After this joining I need convert this Jimp object to node Buffer object without writing image as file to disc and return Buffer to use it in next steps.

    Is it possible? I cant find anything in Jimp DOCs. And when I try write Jimp.bitmap.data to file, this image is corrupted...

    Thanks!