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