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