syncfusion-react-image-editor

Master Syncfusion React Image Editor for comprehensive image editing. Use this when users need to edit images, add annotations, apply filters, manage layers, or implement image editing features. Supports multiple formats (PNG, JPEG, SVG, WEBP, BMP), annotations (text, shapes, freehand, images), effe

By syncfusion · 617 installs

npx skills add syncfusion/react-ui-components-skills --skill syncfusion-react-image-editor

Source repository · Upstream listing

Implementing Syncfusion React Image Editor The Syncfusion React Image Editor is a comprehensive, feature rich component for editing images directly in your React applications. It provides an intuitive interface with powerful tools for transformations, annotations, effects, and more. Component Overview The Image Editor combines a canvas based editing environment with a comprehensive toolbar and contextual tools. It supports: Multiple Input Sources: Files, URLs, base64, blobs, file managers, treeviews Rich Annotation Support: Text (with styling), shapes, freehand drawings, watermarks Professional Effects: Filters and fine tuning controls Advanced Operations: Z order management, redaction, frame decoration Accessibility First: Full keyboard navigation, WCAG compliance, RTL support, 120+ localization keys Flexible Integration: Standalone or within dialogs, with customizable toolbars Documentation and Navigation Guide 🔹 API Reference 📄 Read: [references/api.md](references/api.md) Complete API documentation with all properties, methods, and events Properties overview (core, toolbar, settings) Methods for image operations, transformations, annotations Events for lifecycle, interactions, effects, and toolbars Enums and type definitions (ArrowheadType, FrameType, RedactType, etc.) Complete working examples with verified method signatures Getting Started 📄 Read: [references/getting started.md](references/getting started.md) Installation with Vite and create react app CSS imports and theme setup Basic component initialization Setting width, height, and initial rendering Opening and Saving Images 📄 Read: [references/opening saving images.md](references/opening saving images.md) Open from file paths, URLs, base64 strings, blobs Open from file uploader, file manager, and treeview Save/export as PNG, JPEG, SVG, WEBP Image dimensions and aspect ratio control File opened, saving, and lifecycle events Selection and Cropping 📄 Read: [references/selection cropping.md](references/selection cropping.md) Insert custom, square, and circle selections Crop with aspect ratios (2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 5:7, 7:5, 9:16, 16:9) Crop method and selection events Maintain original image size during cropping Lock selection area during resizing Transform: Rotate, Flip, and Straighten 📄 Read: [references/transform rotate flip.md](references/transform rotate flip.md) Rotate clockwise/counter clockwise by degrees Flip horizontally and vertically Straighten images with fine degree adjustments ( 45° to +45°) Transform annotations along with image Rotating and flipping events Zoom and Pan Operations 📄 Read: [references/zooming panning.md](references/zooming panning.md) Zoom in/out with configurable min/max factors Pan when zoomed or during cropping Zoom triggers (toolbar, pinch, mouse wheel, keyboard) Zooming and panning events Zoom point calculations Text Annotations 📄 Read: [references/text annotations.md](references/text annotations.md) Add text with position, content, and font settings Text styling (bold, italic, underline, strikethrough) Font families, sizes, and colors Multiline text with newline characters Delete text annotations Customize font color via shapeChanging event Freehand Drawing 📄 Read: [references/freehand drawing.md](references/freehand drawing.md) Enable/disable freehand drawing mode Customize stroke width and color Delete freehand annotations Adjust stroke during drawing via shapeChanging event Shape Annotations 📄 Read: [references/shape annotations.md](references/shape annotations.md) Draw rectangles, ellipses, lines, arrows, and paths Customize shapes with stroke color, stroke width, and fill color Rotate shapes with degree parameter Delete shape annotations Customize default stroke colors Shape changing and customization events Image Annotations 📄 Read: [references/image annotations.md](references/image annotations.md) Add images or icons as annotations Control position, size, rotation, and opacity Aspect ratio preservation Watermarks and decorative elements Filters 📄 Read: [references/filters.md](references/filters.md) Apply predefined filters (Chrome, Cold, Warm, Grayscale, Sepia, Invert) Image filtering event Reset filter to original Fine Tuning 📄 Read: [references/finetune.md](references/finetune.md) Adjust brightness, contrast, saturation Control hue, exposure, blur, opacity Finetune value changing events Real time adjustments with sliders Undo and Redo 📄 Read: [references/undo redo.md](references/undo redo.md) Undo/redo operations with 16 step history Keyboard shortcuts (Ctrl+Z, Ctrl+Y) History management and limits Toolbar Customization 📄 Read: [references/toolbar customization.md](references/toolbar customization.md) Built in toolbar items (20+ default tools) Add, remove, enable, disable toolbar items Custom toolbar items with event handlers Contextual toolbar for annotations Toolbar templates for complete customization Toolbar created and item clicked events Quick Access Toolbar 📄 Read: [references/quick access toolbar.md](references/quick access toolbar.md) Quick access toolbar for annotations Show/hide quick access toolbar Add custom items to quick access toolbar Quick access toolbar open event Resize Image 📄 Read: [references/resize image.md](references/resize image.md) Resize with or without aspect ratio Width and height parameters Resizing event with before/after dimensions Frame Decoration 📄 Read: [references/frame decoration.md](references/frame decoration.md) Apply frames (Mat, Bevel, Line, Inset, Hook) Customize frame color, size, and line style Frame changing event Z Order Layering 📄 Read: [references/z order layering.md](references/z order layering.md) Bring forward/send backward annotations Bring to front/send to back Manage annotation layer order Redact Sensitive Information 📄 Read: [references/redact sensitive info.md](references/redact sensitive info.md) Blur sensitive areas Pixelate sensitive information Redact CRUD operations (select, update, delete, get) Privacy and compliance Accessibility and Localization 📄 Read: [references/accessibility localization.md](references/accessibility localization.md) WCAG 2.2, Section 508 compliance Screen reader support Keyboard shortcuts (Ctrl+Z, Ctrl+S, Ctrl+O, Delete, Enter, Escape) RTL language support Localization with 120+ locale keys Image Restrictions and Validation 📄 Read: [references/image restrictions validation.md](references/image restrictions validation.md) Allowed file extensions (.jpg, .png, .svg, .webp, .bmp) Min and max file size restrictions File validation and error alerts Clear Image 📄 Read: [references/clear image.md](references/clear image.md) Clear editor state Dialog reuse patterns Remove previously loaded images Fit to Width and Height 📄 Read: [references/fit width height.md](references/fit width height.md) Fit image to editor container width Fit image to editor container height Zoom calculations for perfect fit Render in Dialog 📄 Read: [references/render in dialog.md](references/render in dialog.md) Render Image Editor within Dialog component Content template integration Dialog show/hide patterns Reset Image 📄 Read: [references/reset image.md](references/reset image.md) Reset all modifications to original state Restore unmodified version Clear annotations and effects Quick Start Example Common Patterns Pattern 1: Open + Edit + Save Workflow 1. Open image via open() method 2. Apply transformations, annotations, or effects 3. Use export() to save as PNG/JPEG/SVG/WEBP 4. Optionally convert to base64 or blob for backend storage Pattern 2: Responsive Toolbar 1. Define custom toolbar items in toolbar property 2. Handle clicks via toolbarItemClicked event 3. Execute methods like rotate() , zoom() , drawText() based on clicked item 4. Update contextual toolbar via toolbarUpdating event Pattern 3: Annotation Workflow 1. Enable annotation mode (freehand, text, shape) 2. Customize via shapeChanging event (color, stroke, font) 3. Delete via deleteShape() with shape ID 4. Manage layers via z order methods Pattern 4: Dialog Integration 1. Render Image Editor in Dialog's content template 2. Load image when dialog opens via fileOpened event 3. Call clearImage() before closing dialog 4. Retrieve edited image data via export() or getImageData() Pattern 5: Filter + Finetune Pipeline 1. Apply filter via applyImageFilter() 2. Fine tune via finetuneImage() (brightness, contrast, etc.) 3. Listen to imageFiltering and finetuneValueChanging events 4. Combine effects for professional results Key Properties Property Type Purpose width string Editor canvas width (e.g., "550px", "100%") height string Editor canvas height (e.g., "350px", "100%") toolbar array Customize toolbar items and visibility fontFamily object Add custom font families uploadSettings object Configure file restrictions (extensions, size) zoomSettings object Set min/max zoom factors showQuickAccessToolbar boolean Show/hide quick access toolbar locale string Set localization (e.g., 'de DE') Key Events Event Trigger Use Case created Component initialized Load image on startup fileOpened Image loaded Add watermarks, apply defaults beforeSave Before export Validate, add metadata cropping During crop Prevent scaling, lock dimensions zooming During zoom Validate zoom level rotating During rotate Track rotation angle shapeChanging Annotation modified Customize stroke, font toolbarUpdating Toolbar rendered Add/remove contextual items Supported File Formats Open: PNG, JPEG, JPG, SVG, WEBP, BMP (local, URL, base64, blob) Save/Export: PNG, JPEG, SVG, WEBP Next Steps Start with [getting started.md](references/getting started.md) for setup Explore [opening saving images.md](references/opening saving images.md) to understand data flow Check specific features in their dedicated reference files Use [accessibility localization.md](references/accessibility localization.md) for multi language support