UNPKG

html2canvas-pro

Version:

Screenshots with JavaScript. Next generation!

61 lines (60 loc) 2.68 kB
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';