image-in-browser
Version:
Package for encoding / decoding images, transforming images, applying filters, drawing primitives on images on the client side (no need for server Node.js)
111 lines (110 loc) • 3.04 kB
TypeScript
/** @format */
import { HuffmanNode } from './huffman-node.js';
/**
* Represents a JPEG component with its properties and methods.
*/
export declare class JpegComponent {
/**
* List of quantization tables.
*/
private readonly _quantizationTableList;
/**
* Index of the quantization table.
*/
private readonly _quantizationIndex;
/**
* Number of horizontal samples.
*/
private readonly _hSamples;
/**
* Gets the number of horizontal samples.
*/
get hSamples(): number;
/**
* Number of vertical samples.
*/
private readonly _vSamples;
/**
* Gets the number of vertical samples.
*/
get vSamples(): number;
/**
* 2D array of blocks.
*/
private _blocks;
/**
* Gets the 2D array of blocks.
*/
get blocks(): Array<Array<Int32Array>>;
/**
* Number of blocks per line.
*/
private _blocksPerLine;
/**
* Gets the number of blocks per line.
*/
get blocksPerLine(): number;
/**
* Number of blocks per column.
*/
private _blocksPerColumn;
/**
* Gets the number of blocks per column.
*/
get blocksPerColumn(): number;
/**
* Array of Huffman nodes for DC table.
*/
private _huffmanTableDC;
/**
* Sets the Huffman table for DC.
*/
set huffmanTableDC(v: Array<HuffmanNode | undefined>);
/**
* Gets the Huffman table for DC.
*/
get huffmanTableDC(): Array<HuffmanNode | undefined>;
/**
* Array of Huffman nodes for AC table.
*/
private _huffmanTableAC;
/**
* Sets the Huffman table for AC.
*/
set huffmanTableAC(v: Array<HuffmanNode | undefined>);
/**
* Gets the Huffman table for AC.
*/
get huffmanTableAC(): Array<HuffmanNode | undefined>;
/**
* Prediction value.
*/
private _pred;
/**
* Sets the prediction value.
*/
set pred(v: number);
/**
* Gets the prediction value.
*/
get pred(): number;
/**
* Gets the quantization table.
*/
get quantizationTable(): Int16Array | undefined;
/**
* Constructs a new instance of JpegComponent.
* @param {number} hSamples - Number of horizontal samples.
* @param {number} vSamples - Number of vertical samples.
* @param {Array<Int16Array | undefined>} quantizationTableList - List of quantization tables.
* @param {number} quantizationIndex - Index of the quantization table.
*/
constructor(hSamples: number, vSamples: number, quantizationTableList: Array<Int16Array | undefined>, quantizationIndex: number);
/**
* Sets the blocks and their dimensions.
* @param {Array<Array<Int32Array>>} blocks - 2D array of blocks.
* @param {number} blocksPerLine - Number of blocks per line.
* @param {number} blocksPerColumn - Number of blocks per column.
*/
setBlocks(blocks: Array<Array<Int32Array>>, blocksPerLine: number, blocksPerColumn: number): void;
}