UNPKG

pica

Version:

High quality image resize in browser.

71 lines (66 loc) 2.24 kB
type MathImageBuffer = Uint8Array | Uint8ClampedArray; type MathResizeFilter = 'box' | 'hamming' | 'lanczos2' | 'lanczos3' | 'mks2013'; type PicaFeaturesFlat = ('js' | 'wasm' | 'ww' | 'cib' | 'all')[]; type Filter = MathResizeFilter; type CibResizeQuality = 0 | 1 | 2 | 3; type PicaCanvas = HTMLCanvasElement | OffscreenCanvas; type PicaSource = PicaCanvas | HTMLImageElement | ImageBitmap; type CreateCanvasPreference = { preferOffscreen?: boolean; }; interface PicaOptions { tile?: number; concurrency?: number; features?: PicaFeaturesFlat; idle?: number; workerURL?: string | URL; } interface _ResizeOptionsCommon { quality?: CibResizeQuality; filter?: Filter; unsharpAmount?: number; unsharpRadius?: number; unsharpThreshold?: number; } interface ResizeOptions extends _ResizeOptionsCommon { cancelToken?: Promise<unknown>; } interface ResizeBufferOptions extends _ResizeOptionsCommon { src: MathImageBuffer; width: number; height: number; toWidth: number; toHeight: number; dest?: Uint8Array; } declare class Pica { private options; private __limit; private resize_features; private __workersPool; private capabilities; private __requested_features; private __mathlib; private __initPromise?; constructor(options?: PicaOptions); init(): Promise<this>; private __init; createCanvas(width: number, height: number, preferOffscreen?: CreateCanvasPreference): PicaCanvas; private __createWorkerSlot; private __invokeWorker; private __invokeResize; private __extractTileData; private __landTileData; private __tileAndResize; private __planStagesAndResize; private __resizeViaCreateImageBitmap; resize<TCanvas extends PicaCanvas>(from: PicaSource, to: TCanvas, options?: ResizeOptions): Promise<TCanvas>; resizeBuffer(options: ResizeBufferOptions): Promise<Uint8Array>; toBlob(canvas: HTMLCanvasElement | OffscreenCanvas, mimeType?: string, quality?: number): Promise<Blob>; debug(..._args: unknown[]): void; } declare function pica(options?: PicaOptions): Pica; declare const picaWithClass: typeof pica & { Pica: typeof Pica; }; export { picaWithClass as default };