2.0.0 • Published 5 years ago
jpeg-asm v2.0.0
jpeg-asm

Encoding and decoding images via libjpeg
libjpeg version: 9d of 12-Jan-2020Installation
installing with npm:
npm install jpeg-asm --saveOR
Use /dist/jpegasm.js for a browser-friendly version of the library.
Decode JPEG
const jpegasm = require('jpeg-asm');
const buf = new ArrayBuffer(/* ... */);
// init buffer
jpegasm.decode(buf, (err, decoded) => {
// err: Error
// OR
// decoded: { buffer: ArrayBuffer, width: number, height: number }
});Encode JPEG
const jpegasm = require('jpeg-asm');
const buf = new ArrayBuffer(/* ... */);
// init buffer
const options = {
width: X,
height: Y,
quality: 80
};
jpegasm.encode(buf, options, (err, encoded) => {
// err: Error
// OR
// encoded: ArrayBuffer
});Examples
The examples directory contains an example how to encode and decode an image in a browser.
API
.decode(buf, cb)
Decodes a JPEG image.
Arguments:
buf- source buffer:ArrayBuffercb- a callback that gets 2 arguments:err- decodingErrordecoded- an object that describes the decoded image:{ width: number, height: number, data: ArrayBuffer }where data represents colors in RGB format.
jpegasm.decode(buf, (err, decoded) => { /* ... */ });.encode(buf, options, cb)
Encodes buffer to a JPEG format.
Arguments:
buf- source buffer:ArrayBuffer[options]- an optional object with settings to encode an image. Supported options:width- width of the image inbufheight- height of the image inbufquality- a numberic value 0-100, describes quality of encoding. 0 - low quality, 100 - high quality.
cb- a callback that gets 2 arguments:err- encodingErrorencoded- an object that describes the encoded image:{ width: number, height: number, data: ArrayBuffer }
const encoded = jpegasm.encode(buf, options, (err, encoded) => { /* ... */ });Tests
To run the tests for jpeg-asm:
npm testBuilding
To compile libjpeg to javascript:
npm run build:debug
# OR
npm run build:releaseCompiling details.
To build a browser-friendly version of the library, run:
npm run browser:debug
# OR
npm run browser:releaseContact
License
jpeg-asm distributed under the The MIT License (MIT).
libjpeg has a custom BSD-like license (free software).