fast-average-color
Version:
A simple library that calculates the average color of images, videos and canvas in browser environment.
65 lines (64 loc) • 2.6 kB
TypeScript
export type FastAverageColorRgb = [number, number, number];
export type FastAverageColorRgba = [number, number, number, number];
export type FastAverageColorRgbaWithThreshold = [number, number, number, number, number];
export type FastAverageColorIgnoredColor = FastAverageColorRgb | FastAverageColorRgba | FastAverageColorRgbaWithThreshold | Array<FastAverageColorRgb | FastAverageColorRgba | FastAverageColorRgbaWithThreshold>;
export interface FastAverageColorOptions {
defaultColor?: FastAverageColorRgba;
ignoredColor?: FastAverageColorIgnoredColor;
mode?: 'precision' | 'speed';
algorithm?: 'simple' | 'sqrt' | 'dominant';
step?: number;
left?: number;
top?: number;
width?: number;
height?: number;
silent?: boolean;
crossOrigin?: string;
dominantDivider?: number;
}
export interface FastAverageColorAlgorithmOptions {
defaultColor: FastAverageColorRgba;
ignoredColor: Array<FastAverageColorRgb | FastAverageColorRgba | FastAverageColorRgbaWithThreshold>;
step: number;
dominantDivider?: number;
}
export type FastAverageColorResource = HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | OffscreenCanvas | ImageBitmap | VideoFrame | null;
export interface FastAverageColorResult {
rgb: string;
rgba: string;
hex: string;
hexa: string;
value: FastAverageColorRgba;
isDark: boolean;
isLight: boolean;
error?: Error;
}
export declare class FastAverageColor {
canvas: HTMLCanvasElement | OffscreenCanvas | null;
ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D | null;
/**
* Get asynchronously the average color from not loaded image.
*/
getColorAsync(resource: FastAverageColorResource, options?: FastAverageColorOptions): Promise<FastAverageColorResult>;
/**
* Get average color from image url
*/
getColorAsync(imageUrl: string, options?: FastAverageColorOptions): Promise<FastAverageColorResult>;
/**
* Get the average color from images, videos and canvas.
*/
getColor(resource: FastAverageColorResource, options?: FastAverageColorOptions): FastAverageColorResult;
/**
* Get the average color from a array when 1 pixel is 4 bytes.
*/
getColorFromArray4(arr: number[] | Uint8Array | Uint8ClampedArray, options?: FastAverageColorOptions): FastAverageColorRgba;
/**
* Get color data from value ([r, g, b, a]).
*/
prepareResult(value: number[], error?: Error): FastAverageColorResult;
/**
* Destroy the instance.
*/
destroy(): void;
private bindImageEvents;
}