npx skills add ...
npx skills add syncfusion/angular-ui-components-skills --skill syncfusion-angular-image-editor
Implement feature-rich image editing in Angular applications using Syncfusion Image Editor. Use this skill whenever user mentions editing images, adding annotations, applying filters, cropping, transforming, or manipulating images in Angular. Covers installation, all annotation types (text, shapes, freehand), transformations (rotate, flip, zoom), filtering, frame application, redaction, open/save functionality, undo/redo, toolbar customization, accessibility, and advanced features like z-ordering and dialog integration.
npx skills add syncfusion/angular-ui-components-skills --skill syncfusion-angular-image-editor
The Syncfusion Angular Image Editor component provides a comprehensive, feature-rich solution for image editing and annotation. It allows developers to integrate professional image editing capabilities directly into Angular applications, supporting a wide range of editing operations including annotations, transformations, filtering, and more.
The Image Editor is a powerful, standalone component that provides:
📄 Read: references/getting-started.md
📄 Read: references/annotations.md
📄 Read: references/selection-and-cropping.md
📄 Read: references/transform.md
📄 Read: references/filter-and-finetune.md
📄 Read: references/frames.md
📄 Read: references/redaction.md
📄 Read: references/open-and-save.md
📄 Read: references/undo-redo.md
📄 Read: references/toolbar.md
📄 Read: references/quick-access-toolbar.md
📄 Read: references/z-order.md
📄 Read: references/accessibility.md
📄 Read: references/api.md
📄 Read: references/localization.md
📄 Read: references/image-restrictions.md
📄 Read: references/resize.md
📄 Read: references/end-user-capabilities.md
📄 Read: references/clear-image.md - Clearing editor state for dialog reuse
📄 Read: references/fit-to-width-height.md - Dynamic zoom fitting
📄 Read: references/render-in-dialog.md - Modal dialog integration
📄 Read: references/reset-image.md - Reverting to original state
| Property | Type | Description | When to Use |
|---|---|---|---|
toolbar | array | List of toolbar items to display | Customize visible tools |
toolbarTemplate | template | Custom template for entire toolbar | Complete toolbar redesign |
uploadSettings | object | File validation rules (extensions, size) | Restrict upload formats/sizes |
zoomSettings | object | Min/max zoom factor configuration | Control zoom boundaries |
fontFamily | array | Additional font families for text | Add custom fonts |
locale | string | Language for UI text | Multi-language support |
height | string/number | Component height | Layout sizing |
width | string/number | Component width | Layout sizing |
showQuickAccessToolbar | boolean | Show quick access toolbar | Control quick toolbar visibility |
All detailed documentation is organized by feature in the references/ folder. Each reference file is self-contained and covers specific functionality in depth.
See individual reference files for code examples, event handling, and advanced configurations.
// Open image from file
this.imageEditor.open('image.png');
// Add text annotation
this.imageEditor.drawText(100, 100, 'Important', 'Arial', 16, true, false, '#FF0000');
// Add rectangle
this.imageEditor.drawRectangle(50, 50, 200, 150, 2, '#0000FF', '#FFFFFF');
// Add freehand drawing
this.imageEditor.freehandDraw();// Apply filter
this.imageEditor.applyImageFilter('Sepia');
// Fine-tune brightness
this.imageEditor.finetuneImage('Brightness', 50);
// Fine-tune contrast
this.imageEditor.finetuneImage('Contrast', -30);
// Fine-tune saturation
this.imageEditor.finetuneImage('Saturation', 40);// Select region for cropping
this.imageEditor.select('Custom', 50, 50, 300, 200);
// Crop the selected region
this.imageEditor.crop();
// Rotate after cropping
this.imageEditor.rotate(90);
// Flip horizontally
this.imageEditor.flip('Horizontal');toolbar: [
'Open',
'Undo',
'Redo',
'Crop',
'RotateLeft',
'RotateRight',
'HorizontalFlip',
'VerticalFlip',
'Annotate',
'Finetune',
'Filter',
'Frame',
'Redact',
'Resize',
'Save',
'Reset'
];// Save as PNG (default)
this.imageEditor.export('myImage', 'png');
// Save as JPEG with quality
this.imageEditor.export('myImage', 'jpeg', 90);
// Get base64 data
const base64Data = this.imageEditor.getImageData();
// Save as blob
this.imageEditor.getImageData().then(data => {
const blob = this.dataURLtoBlob(data);
// Send to server
});