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');