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)

147 lines (146 loc) 4.09 kB
/** @format */ import { InputBuffer } from '../../common/input-buffer.js'; import { VP8LInternal } from './vp8l-internal.js'; /** * Class representing WebPAlpha. */ export declare class WebPAlpha { /** * Input buffer for the alpha data. */ private _input; /** * Gets the input buffer. * @returns {InputBuffer<Uint8Array>} The input buffer. */ get input(): InputBuffer<Uint8Array>; /** * Width of the image. */ private _width; /** * Gets the width of the image. * @returns {number} The width of the image. */ get width(): number; /** * Height of the image. */ private _height; /** * Gets the height of the image. * @returns {number} The height of the image. */ get height(): number; /** * Compression method used. */ private _method; /** * Gets the compression method used. * @returns {number} The compression method. */ get method(): number; /** * Filter type used. */ private _filter; /** * Gets the filter type used. * @returns {number} The filter type. */ get filter(): number; /** * Pre-processing level. */ private _preProcessing; /** * Gets the pre-processing level. * @returns {number} The pre-processing level. */ get preProcessing(): number; /** * Reserved field. */ private _rsrv; /** * Gets the reserved field. * @returns {number} The reserved field. */ get rsrv(): number; /** * Indicates if the alpha channel is decoded. */ private _isAlphaDecoded; /** * Gets the alpha decoded status. * @returns {boolean} True if alpha is decoded, otherwise false. */ get isAlphaDecoded(): boolean; /** * VP8L internal data. */ private _vp8l; /** * Gets the VP8L internal data. * @returns {VP8LInternal} The VP8L internal data. */ get vp8l(): VP8LInternal; /** * Indicates if 8-bit decode is used. */ private _use8bDecode; /** * Gets the 8-bit decode usage status. * @returns {boolean} True if 8-bit decode is used, otherwise false. */ get use8bDecode(): boolean; /** * Gets the validity status of the alpha data. * @returns {boolean} True if valid, otherwise false. */ get isValid(): boolean; /** * Creates an instance of WebPAlpha. * @param {InputBuffer<Uint8Array>} input - The input buffer. * @param {number} width - The width of the image. * @param {number} height - The height of the image. */ constructor(input: InputBuffer<Uint8Array>, width: number, height: number); /** * Dequantizes the levels. * @param {Uint8Array} _data - The data array. * @param {number} width - The width of the image. * @param {number} height - The height of the image. * @param {number} row - The starting row. * @param {number} numRows - The number of rows. * @returns {boolean} True if successful, otherwise false. */ private dequantizeLevels; /** * Decodes the alpha image stream. * @param {number} lastRow - The last row to decode. * @param {Uint8Array} output - The output array. * @returns {boolean} True if successful, otherwise false. */ private decodeAlphaImageStream; /** * Decodes the alpha header. * @returns {boolean} True if successful, otherwise false. */ private decodeAlphaHeader; /** * Decodes the alpha data. * @param {number} row - The starting row. * @param {number} numRows - The number of rows. * @param {Uint8Array} output - The output array. * @returns {boolean} True if successful, otherwise false. */ decode(row: number, numRows: number, output: Uint8Array): boolean; /** * Alpha related constants. */ private static readonly alphaNoCompression; private static readonly alphaLosslessCompression; private static readonly alphaPreprocessedLevels; }