warpvas
Version:
This JavaScript library enables fast and efficient image distortion transformations using Canvas 2D.
52 lines (51 loc) • 1.98 kB
TypeScript
import type { Warpvas } from '../warpvas.class';
/**
* Create canvas warping renderer with 2D context
*
* @param warpvas - Warpvas instance with deformation data
* @param source - Source image canvas to be warped
* @param destination - Target canvas element (creates new if null)
* @param options - Rendering parameters { x, y, width, height, sourceScale?, destinationScale? }
* @param utils - Required utility functions for coordinate calculations
*
* @returns Rendered canvas element with warped content
*
* @remarks
* - Implements floating-point pixel anti-aliasing
* - Uses vertex expansion to prevent triangle seams
* - Supports OffscreenCanvas for worker thread rendering
*/
export declare const createWarpedCanvas: <Canvas extends HTMLCanvasElement | OffscreenCanvas>(warpvas: Warpvas, source: HTMLCanvasElement, destination: Canvas, options: {
x: number;
y: number;
width: number;
height: number;
sourceScale?: number;
destinationScale?: number;
}, utils: Record<string, (...args: any) => any>) => Canvas;
/**
* Create warped canvas instance using Canvas2D API
*
* @param warpvas - Warpvas instance containing deformation configuration
* @param source - Source image canvas element
* @param destination - Target canvas (creates new canvas if null)
* @param options - Rendering parameters {
* x: Render starting X coordinate,
* y: Render starting Y coordinate,
* width: Output width,
* height: Output height,
* sourceScale?: Image scaling factor (default: 1),
* destinationScale?: Canvas scaling factor (default: 1)
* }
*
* @returns Created warped canvas instance using Canvas2D
*/
declare const createWarpedCanvas2D: (warpvas: Warpvas, source: HTMLCanvasElement, destination: HTMLCanvasElement | null, options: {
x: number;
y: number;
width: number;
height: number;
sourceScale?: number;
destinationScale?: number;
}) => HTMLCanvasElement;
export default createWarpedCanvas2D;