html2canvas-pro
Version:
Screenshots with JavaScript. Next generation!
61 lines (60 loc) • 2.68 kB
TypeScript
import { CloneOptions, WindowOptions } from './dom/document-cloner';
import { RenderOptions } from './render/canvas/canvas-renderer';
import { ContextOptions } from './core/context';
import { Html2CanvasConfig, ConfigOptions } from './config';
import { createDefaultValidator, Validator, ValidationResult } from './core/validator';
import { PerformanceMonitor } from './core/performance-monitor';
export type Options = CloneOptions & WindowOptions & RenderOptions & ContextOptions & {
backgroundColor: string | null;
foreignObjectRendering: boolean;
removeContainer?: boolean;
cspNonce?: string;
validator?: Validator;
skipValidation?: boolean;
enablePerformanceMonitoring?: boolean;
/**
* Enable/disable image smoothing (anti-aliasing) globally.
* - `false`: Pixel-perfect rendering for pixel art, sprites, and retro graphics
* - `true`: Smooth rendering for photos and high-quality images
* - CSS `image-rendering` property on individual elements takes precedence
* @default true (browser default)
* @example
* // Pixel art game screenshot
* html2canvas(element, { imageSmoothing: false, scale: 2 });
*
* // High-quality photo
* html2canvas(element, { imageSmoothing: true, imageSmoothingQuality: 'high' });
*/
imageSmoothing?: boolean;
/**
* Image smoothing quality level when imageSmoothing is enabled.
* - `'low'`: Faster, lower quality (good for preview)
* - `'medium'`: Balanced (default in most browsers)
* - `'high'`: Slower, best quality (good for final export)
*
* Browser support: Chrome 54+, Firefox 94+, Safari 17+
* Falls back gracefully in older browsers.
* @default browser default (usually 'low' or 'medium')
*/
imageSmoothingQuality?: 'low' | 'medium' | 'high';
};
/**
* Main html2canvas function with improved configuration management
*
* @param element - Element to render
* @param options - Rendering options
* @param config - Optional configuration (for advanced use cases)
* @returns Promise resolving to rendered canvas
*/
declare const html2canvas: {
(element: HTMLElement, options?: Partial<Options>, config?: Html2CanvasConfig): Promise<HTMLCanvasElement>;
setCspNonce: (nonce: string) => void;
};
/**
* Set CSP nonce for inline styles
* @deprecated Use options.cspNonce instead
*/
declare const setCspNonce: (nonce: string) => void;
export default html2canvas;
export { html2canvas, setCspNonce, Html2CanvasConfig, ConfigOptions, Validator, ValidationResult, createDefaultValidator, PerformanceMonitor };
export { IMAGE_RENDERING } from './css/property-descriptors/image-rendering';