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)

158 lines (157 loc) 5.53 kB
/** @format */ import { Format } from '../color/format.js'; import { Palette } from './palette.js'; /** * Class representing a palette with 16-bit unsigned integer values. */ export declare class PaletteUint16 implements Palette { /** * Internal data storage for the palette. */ private readonly _data; /** * Gets the internal data array. * @returns {Uint16Array} The internal data array. */ get data(): Uint16Array; /** * Number of colors in the palette. */ private readonly _numColors; /** * Gets the number of colors in the palette. * @returns {number} The number of colors. */ get numColors(): number; /** * Number of channels per color. */ private readonly _numChannels; /** * Gets the number of channels per color. * @returns {number} The number of channels. */ get numChannels(): number; /** * Gets the byte length of the internal data array. * @returns {number} The byte length. */ get byteLength(): number; /** * Gets the buffer of the internal data array. * @returns {ArrayBufferLike} The buffer. */ get buffer(): ArrayBufferLike; /** * Gets the format of the palette. * @returns {Format} The format. */ get format(): Format; /** * Gets the maximum value for a channel. * @returns {number} The maximum channel value. */ get maxChannelValue(): number; /** * Creates an instance of PaletteUint16. * @param {number} numColors - The number of colors. * @param {number} numChannels - The number of channels per color. * @param {Uint16Array} [data] - Optional initial data. */ constructor(numColors: number, numChannels: number, data?: Uint16Array); /** * Creates a new PaletteUint16 instance from another instance. * @param {PaletteUint16} other - The other PaletteUint16 instance. * @returns {PaletteUint16} A new PaletteUint16 instance. */ static from(other: PaletteUint16): PaletteUint16; /** * Sets the RGB values at a specific index. * @param {number} index - The index to set the values at. * @param {number} r - The red value. * @param {number} g - The green value. * @param {number} b - The blue value. */ setRgb(index: number, r: number, g: number, b: number): void; /** * Sets the RGBA values at a specific index. * @param {number} index - The index to set the values at. * @param {number} r - The red value. * @param {number} g - The green value. * @param {number} b - The blue value. * @param {number} a - The alpha value. */ setRgba(index: number, r: number, g: number, b: number, a: number): void; /** * Sets a specific channel value at a specific index. * @param {number} index - The index to set the value at. * @param {number} channel - The channel to set the value for. * @param {number} value - The value to set. */ set(index: number, channel: number, value: number): void; /** * Gets a specific channel value at a specific index. * @param {number} index - The index to get the value from. * @param {number} channel - The channel to get the value for. * @returns {number} The value of the channel. */ get(index: number, channel: number): number; /** * Gets the red value at a specific index. * @param {number} index - The index to get the red value from. * @returns {number} The red value. */ getRed(index: number): number; /** * Gets the green value at a specific index. * @param {number} index - The index to get the green value from. * @returns {number} The green value. */ getGreen(index: number): number; /** * Gets the blue value at a specific index. * @param {number} index - The index to get the blue value from. * @returns {number} The blue value. */ getBlue(index: number): number; /** * Gets the alpha value at a specific index. * @param {number} index - The index to get the alpha value from. * @returns {number} The alpha value. */ getAlpha(index: number): number; /** * Sets the red value at a specific index. * @param {number} index - The index to set the red value at. * @param {number} value - The red value to set. */ setRed(index: number, value: number): void; /** * Sets the green value at a specific index. * @param {number} index - The index to set the green value at. * @param {number} value - The green value to set. */ setGreen(index: number, value: number): void; /** * Sets the blue value at a specific index. * @param {number} index - The index to set the blue value at. * @param {number} value - The blue value to set. */ setBlue(index: number, value: number): void; /** * Sets the alpha value at a specific index. * @param {number} index - The index to set the alpha value at. * @param {number} value - The alpha value to set. */ setAlpha(index: number, value: number): void; /** * Creates a clone of the current PaletteUint16 instance. * @returns {PaletteUint16} A new PaletteUint16 instance. */ clone(): PaletteUint16; /** * Converts the internal data to a Uint8Array. * @returns {Uint8Array} The Uint8Array representation of the internal data. */ toUint8Array(): Uint8Array; }