Class: ImageCompressor

@nginstack/engine/lib/compress/ImageCompressor~ ImageCompressor


new ImageCompressor(encoder [, options])

Classe que disponibiliza métodos de compressão de imagem

Parameters:
Name Type Argument Description
encoder string

Algoritmo que será usado para codificar a imagem. Pode ser "png", "jpeg", "webp" ou "avif".

options PngOptions | JpegOptions | WebpOptions | AvifOptions <optional>

Opções de compressão. Cada encoder possui um conjunto de opções específico.

Methods


compressBytes(content)

Comprime a imagem informada utilizando o encoder e as opções informadas no construtor.

Parameters:
Name Type Description
content Uint8Array | ArrayBuffer

Imagem de entrada em formato binário.

Returns:

Imagem de saída em formato binário.

Type
Uint8Array
Example
const ImageCompressor = require('@nginstack/engine/lib/compress/ImageCompressor.js');
const File = require('@nginstack/engine/lib/io/File.js');
const binaryStringToUint8Array = require('@nginstack/engine/lib/array/binaryStringToUint8Array.js');
const compressor = new ImageCompressor('jpeg', { quality: 70 });
const content = binaryStringToUint8Array(File.stringFromFile('image.png', 'binary'));
const compressedImage = compressor.compressBytes(content);

compressFile(inputPath, outputPath)

Comprime o arquivo de imagem no caminho de entrada informado utilizando o encoder e as opções informadas no construtor. Será criado um arquivo com imagem comprimida no caminho de saída informado. Caso já exista um arquivo no caminho informado, ele será substituído.

Parameters:
Name Type Description
inputPath string

Caminho da imagem de entrada.

outputPath string

Caminho da imagem de saída.

Example
const ImageCompressor = require('@nginstack/engine/lib/compress/ImageCompressor.js');
const compressor = new ImageCompressor('avif', { quality: 90, speed: 9 });
compressor.compressFile('input.png', 'output.avif');