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)
161 lines (160 loc) • 5.15 kB
TypeScript
/** @format */
import { Format } from '../color/format.js';
import { Palette } from './palette.js';
/**
* Class representing a palette with Float16 color values.
*/
export declare class PaletteFloat16 implements Palette {
/**
* The underlying data array storing color values.
* @private
*/
private readonly _data;
/**
* Gets the data array.
* @returns {Uint16Array} The data array.
*/
get data(): Uint16Array;
/**
* The number of colors in the palette.
* @private
*/
private readonly _numColors;
/**
* Gets the number of colors in the palette.
* @returns {number} The number of colors.
*/
get numColors(): number;
/**
* The number of channels per color.
* @private
*/
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 data array.
* @returns {number} The byte length.
*/
get byteLength(): number;
/**
* Gets the buffer of the 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 channel value.
* @returns {number} The maximum channel value.
*/
get maxChannelValue(): number;
/**
* Creates an instance of PaletteFloat16.
* @param {number} numColors - The number of colors.
* @param {number} numChannels - The number of channels per color.
* @param {Uint16Array} [data] - Optional data array.
*/
constructor(numColors: number, numChannels: number, data?: Uint16Array);
/**
* Creates a new instance of PaletteFloat16 from another instance.
* @param {PaletteFloat16} other - The other instance.
* @returns {PaletteFloat16} A new instance.
*/
static from(other: PaletteFloat16): PaletteFloat16;
/**
* Sets the RGB values at a specific index.
* @param {number} index - The index.
* @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.
* @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 the value of a specific channel at a specific index.
* @param {number} index - The index.
* @param {number} channel - The channel.
* @param {number} value - The value.
*/
set(index: number, channel: number, value: number): void;
/**
* Gets the value of a specific channel at a specific index.
* @param {number} index - The index.
* @param {number} channel - The channel.
* @returns {number} The value.
*/
get(index: number, channel: number): number;
/**
* Gets the red value at a specific index.
* @param {number} index - The index.
* @returns {number} The red value.
*/
getRed(index: number): number;
/**
* Gets the green value at a specific index.
* @param {number} index - The index.
* @returns {number} The green value.
*/
getGreen(index: number): number;
/**
* Gets the blue value at a specific index.
* @param {number} index - The index.
* @returns {number} The blue value.
*/
getBlue(index: number): number;
/**
* Gets the alpha value at a specific index.
* @param {number} index - The index.
* @returns {number} The alpha value.
*/
getAlpha(index: number): number;
/**
* Sets the red value at a specific index.
* @param {number} index - The index.
* @param {number} value - The red value.
*/
setRed(index: number, value: number): void;
/**
* Sets the green value at a specific index.
* @param {number} index - The index.
* @param {number} value - The green value.
*/
setGreen(index: number, value: number): void;
/**
* Sets the blue value at a specific index.
* @param {number} index - The index.
* @param {number} value - The blue value.
*/
setBlue(index: number, value: number): void;
/**
* Sets the alpha value at a specific index.
* @param {number} index - The index.
* @param {number} value - The alpha value.
*/
setAlpha(index: number, value: number): void;
/**
* Creates a clone of the current palette.
* @returns {PaletteFloat16} A new instance that is a clone of the current palette.
*/
clone(): PaletteFloat16;
/**
* Converts the palette to a Uint8Array.
* @returns {Uint8Array} The Uint8Array representation of the palette.
*/
toUint8Array(): Uint8Array;
}