Top NPM Packages for Image Processing 

JIMP

It is a library written entirely in Javascript.

JIMP SUPPORTED IMAGE TYPES

  • @jimp/jpeg
  • @jimp/png
  • @jimp/bmp
  • @jimp/tiff
  • @jimp/gif

JIMP EXAMPLE

var Jimp = require('jimp');
// open a file called "lenna.png"
Jimp.read('lenna.png', (err, lenna) => {
  if (err) throw err;
  lenna
    .resize(256, 256) // resize
    .quality(60) // set JPEG quality
    .greyscale() // set greyscale
    .write('lena-small-bw.jpg'); // save
});

JIMP PROMISE EXAMPLE

Jimp.read('lenna.png')
  .then(lenna => {
    return lenna
      .resize(256, 256) // resize
      .quality(60) // set JPEG quality
      .greyscale() // set greyscale
      .write('lena-small-bw.jpg'); // save
  })
  .catch(err => {
    console.error(err);
  });

SHARP

High Speed Node Module for Images

SHARP EXAMPLE

sharp(inputBuffer)
  .resize(320, 240)
  .toFile('output.webp', (err, info) => { ... });
sharp('input.jpg')
  .rotate()
  .resize(200)
  .toBuffer()
  .then( data => { ... })
  .catch( err => { ... });
const semiTransparentRedPng = await sharp({
  create: {
    width: 48,
    height: 48,
    channels: 4,
    background: { r: 255, g: 0, b: 0, alpha: 0.5 }
  }
})
  .png()
  .toBuffer();

lwip

Supports all Image Operations in Node.js

LWIP EXAMPLE

var lwip = require('lwip');
 
// obtain an image object:
lwip.open('image.jpg', function(err, image){
 
  // check err...
  // manipulate image:
  image.scale(0.5, function(err, image){
 
    // check err...
    // manipulate some more:
    image.rotate(45, 'white', function(err, image){
 
      // check err...
      // encode to jpeg and get a buffer object:
      image.toBuffer('jpg', function(err, buffer){
 
        // check err...
        // save buffer to disk / send over network / etc.
 
      });
 
    });
 
  });
 
});

Top

By Coding Shiksha

Top

  • 121