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)

90 lines (89 loc) 2.82 kB
/** @format */ import { InputBuffer } from '../../common/input-buffer.js'; import { VP8LInternal } from './vp8l-internal.js'; /** * Handles decoding and processing of the WebP alpha channel. */ export declare class WebPAlpha { /** Input buffer for alpha data. */ private _input; /** Image width. */ private _width; /** Image height. */ private _height; /** Compression method. */ private _method; /** Filter type. */ private _filter; /** Pre-processing level. */ private _preProcessing; /** Reserved field. */ private _rsrv; /** True if alpha channel is decoded. */ private _isAlphaDecoded; /** VP8L internal data. */ private _vp8l; /** True if 8-bit decode is used. */ private _use8bDecode; /** No compression constant. */ private static readonly alphaNoCompression; /** Lossless compression constant. */ private static readonly alphaLosslessCompression; /** Preprocessed levels constant. */ private static readonly alphaPreprocessedLevels; /** Returns input buffer. */ get input(): InputBuffer<Uint8Array>; /** Returns image width. */ get width(): number; /** Returns image height. */ get height(): number; /** Returns compression method. */ get method(): number; /** Returns filter type. */ get filter(): number; /** Returns pre-processing level. */ get preProcessing(): number; /** Returns reserved field. */ get rsrv(): number; /** Returns true if alpha is decoded. */ get isAlphaDecoded(): boolean; /** Returns VP8L internal data. */ get vp8l(): VP8LInternal; /** Returns true if 8-bit decode is used. */ get use8bDecode(): boolean; /** Returns true if alpha data is valid. */ get isValid(): boolean; /** * Constructs WebPAlpha instance. * @param input Input buffer. * @param width Image width. * @param height Image height. */ constructor(input: InputBuffer<Uint8Array>, width: number, height: number); /** * Dequantizes alpha levels if pre-processing is enabled. * @param _data Alpha data. * @param width Image width. * @param height Image height. * @param row Start row. * @param numRows Number of rows. */ private dequantizeLevels; /** * Decodes alpha image stream. * @param lastRow Last row to decode. * @param output Output array. */ private decodeAlphaImageStream; /** * Decodes alpha header and initializes VP8LInternal. */ private decodeAlphaHeader; /** * Decodes alpha data for specified rows. * @param row Start row. * @param numRows Number of rows. * @param output Output array. */ decode(row: number, numRows: number, output: Uint8Array): boolean; }