UNPKG

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
/** @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; }