react-image-mask
Version:
A React component for creating image masks with drawing tools
38 lines • 1.56 kB
TypeScript
/// <reference types="react" />
import { ImageMaskCanvasProps, ImageMaskCanvasRef } from './types';
import './ImageMaskCanvas.css';
/**
* ImageMaskCanvas - The core canvas component for image masking with drawing tools
*
* This is the low-level canvas component that handles all drawing operations, touch gestures,
* zoom/pan functionality, and mask data management. It uses Konva.js for high-performance
* canvas rendering and supports multiple drawing tools with full touch gesture support.
*
* Key Features:
* - Multiple drawing tools (freehand, box, polygon selection)
* - Eraser tools for precise editing
* - Zoom/pan with mouse wheel and touch gestures
* - Full iPad/mobile support with pinch-to-zoom and two-finger pan
* - Apple Pencil compatibility
* - Undo/redo history management
* - Real-time mask preview with customizable opacity and colors
* - Responsive container sizing
* - High-performance rendering with Konva.js
*
* @component
* @example
* ```tsx
* const canvasRef = useRef<ImageMaskCanvasRef>(null);
*
* <ImageMaskCanvas
* ref={canvasRef}
* src="https://example.com/image.jpg"
* toolMode="mask-freehand"
* onZoomChange={(zoom) => console.log('Zoom:', zoom)}
* onHistoryChange={(canUndo, canRedo) => console.log('History:', { canUndo, canRedo })}
* />
* ```
*/
declare const ImageMaskCanvas: import("react").ForwardRefExoticComponent<Omit<ImageMaskCanvasProps, "ref"> & import("react").RefAttributes<ImageMaskCanvasRef>>;
export default ImageMaskCanvas;
//# sourceMappingURL=ImageMaskCanvas.d.ts.map