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