npm.io
1.0.1 • Published 4 years ago

js-image-lib

Licence
MIT
Version
1.0.1
Deps
7
Size
1.5 MB
Vulns
0
Weekly
0
Stars
3

js-image-lib

Intro

An image manipulation library using only pure JavaScript

This library lets you:

  • Resize images to different sizes
  • Convert between the following file types: png, jpeg, gif, bmp, and tiff
  • Apply operations like resize, crop, rotate, blur, and flip

This library uses pure browser-compatible JavaScript, relying on no Node packages. This means js-image-lib can be run anywhere you use JavaScript!

Note: The use of pure JavaScript means this library will run much slower than alternative libraries that have C/etc bindings. You should primarily use js-image-lib in environments where speed is not the first concern, especially in cases where you are trying to support all platforms!

How to use

Install

To install this library, use on of the following commands:

npm install -S js-image-lib
yarn add js-image-lib
Use

Retrieve your image as a Uint8Array, then transform it with imageTransformer by providing the image and the options to use.

import ImageTransformer from "js-image-lib";

// Get your image to transform on Node
const inputJpeg = new Uint8Array(fs.readFileSync("./my-image.jpeg"));

// Or get your image to transform in the browser using fetch
const imageResponse = await fetch(url, {
  headers: {
    accept: "image/*",
  },
});
const arrBuff = await imageResponse.arrayBuffer();
const inputJpeg = new Uint8Array(arrBuff);

// Create ImageTransformer with your image
const transformer = new ImageTransformer(inputJpeg);

transformer.blur(...);
transformer.crop(...);
transformer.flip(...);
transformer.resize(...);
transformer.rotate(...);

// Operations can be done in sequence
transformer.blur(5).rotate(45).flip("both");

// Finally, export your image
const exported = transformer.toBuffer("image/jpeg");

Docs

Keywords