UNPKG

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
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; }