$npx -y skills add syncfusion/maui-ui-components-skills --skill syncfusion-maui-image-editorImplements and customize Syncfusion .NET MAUI ImageEditor (SfImageEditor) for editing, annotating, and transforming images. Use when working with MAUI image editing, photo editing, image cropping, or image transformations. Covers shape/text overlays, freehand drawing, image filte
| 1 | # Implementing .NET MAUI Image Editor |
| 2 | |
| 3 | A comprehensive skill for implementing and customizing the Syncfusion .NET MAUI ImageEditor (SfImageEditor) control. The ImageEditor provides powerful image editing capabilities including cropping, transformations, annotations, filters, and effects with a built-in customizable toolbar. |
| 4 | |
| 5 | ## When to Use This Skill |
| 6 | |
| 7 | Use this skill when you need to: |
| 8 | - Edit and manipulate images in a .NET MAUI application |
| 9 | - Crop images with various aspect ratios or custom selections |
| 10 | - Rotate or flip images (transformations) |
| 11 | - Add annotations: shapes, text, or freehand drawing |
| 12 | - Apply filters and effects (brightness, contrast, blur, saturation, etc.) |
| 13 | - Customize the built-in toolbar or create custom toolbars |
| 14 | - Zoom and pan images for detailed editing |
| 15 | - Save edited images to file or stream |
| 16 | - Serialize and deserialize editor state (annotations, transformations) |
| 17 | - Implement undo/redo functionality |
| 18 | - Handle image editing events |
| 19 | - Customize image editor appearance |
| 20 | |
| 21 | ## Component Overview |
| 22 | |
| 23 | **SfImageEditor** is a comprehensive image editing control for .NET MAUI that provides: |
| 24 | |
| 25 | **Core Features:** |
| 26 | - Image loading from file, stream, or resources |
| 27 | - Cropping with presets (Square, Circle, 16:9, 4:3, 3:2, etc.) or freehand |
| 28 | - Transformations: Rotation (90°, 180°, 270°, custom angles), Flip (horizontal/vertical) |
| 29 | - Annotations: Shapes (Circle, Rectangle, Arrow, Line, Path), Text, Freehand drawing |
| 30 | - Image filters: Brightness, Contrast, Blur, Sharpen, Exposure, Saturation, Hue, Opacity |
| 31 | - Built-in toolbar with full customization support |
| 32 | - Zoom and pan with pinch gestures |
| 33 | - Z-ordering for annotations (bring to front, send to back) |
| 34 | - Undo/Redo operations |
| 35 | - Save to file or stream (JPEG, JPG, PNG, BMP) |
| 36 | - Serialization/Deserialization of editor state |
| 37 | - Comprehensive event handling |
| 38 | |
| 39 | **NuGet Package:** `Syncfusion.Maui.ImageEditor` |
| 40 | |
| 41 | ## Documentation and Navigation Guide |
| 42 | |
| 43 | ### Getting Started & Setup |
| 44 | 📄 **Read:** [references/getting-started.md](references/getting-started.md) |
| 45 | - Installation and NuGet package setup |
| 46 | - Handler registration in MauiProgram.cs |
| 47 | - Basic ImageEditor implementation (XAML & C#) |
| 48 | - Loading images from different sources |
| 49 | - Source property and image loading |
| 50 | |
| 51 | ### Cropping & Transformations |
| 52 | 📄 **Read:** [references/crop-transform.md](references/crop-transform.md) |
| 53 | - Image cropping with Crop method |
| 54 | - ImageCropType options (Free, Square, Circle, aspect ratios) |
| 55 | - Interactive vs programmatic cropping |
| 56 | - Rotation operations (Rotate method) |
| 57 | - Flip operations (horizontal/vertical) |
| 58 | - Custom angle rotations |
| 59 | - Transformation events |
| 60 | |
| 61 | ### Annotations |
| 62 | 📄 **Read:** [references/annotations.md](references/annotations.md) |
| 63 | - Adding shape annotations (Circle, Rectangle, Arrow, Line, Path) |
| 64 | - AddShape method and AnnotationShape enum |
| 65 | - Text annotations (AddText method) |
| 66 | - Freehand drawing capabilities |
| 67 | - Custom view overlays |
| 68 | - Annotation settings (bounds, opacity, rotation, colors) |
| 69 | - Annotation selection and manipulation |
| 70 | - AllowDrag, AllowResize, IsEditable properties |
| 71 | |
| 72 | ### Filters & Effects |
| 73 | 📄 **Read:** [references/filters-effects.md](references/filters-effects.md) |
| 74 | - Applying image filters programmatically |
| 75 | - Brightness and contrast adjustments |
| 76 | - Exposure, saturation, and hue controls |
| 77 | - Blur and sharpen effects |
| 78 | - Opacity modifications |
| 79 | - Combining multiple effects |
| 80 | - Effect preview and reset |
| 81 | |
| 82 | ### Toolbar Customization |
| 83 | 📄 **Read:** [references/toolbar.md](references/toolbar.md) |
| 84 | - ShowToolbar property for visibility control |
| 85 | - Built-in toolbar items |
| 86 | - Adding custom toolbar items |
| 87 | - Removing or reordering toolbar items |
| 88 | - Toolbar positioning and orientation |
| 89 | - Toolbar item appearance customization |
| 90 | - ToolbarItemSelected event |
| 91 | - Creating completely custom toolbars |
| 92 | |
| 93 | ### Zooming & Navigation |
| 94 | 📄 **Read:** [references/zooming-navigation.md](references/zooming-navigation.md) |
| 95 | - Zoom functionality (pinch-to-zoom, programmatic) |
| 96 | - Zoom level management |
| 97 | - Pan and navigation controls |
| 98 | - FitToScreen functionality |
| 99 | - Z-ordering for annotations |
| 100 | - BringToFront and SendToBack methods |
| 101 | - Layer management for complex compositions |
| 102 | |
| 103 | ### Save & Serialization |
| 104 | 📄 **Read:** [references/save-serialization.md](references/save-serialization.md) |
| 105 | - Saving edited images (Save method) |
| 106 | - Save to file path vs stream |
| 107 | - Image format options (JPEG, JPG, PNG, BMP) |
| 108 | - Quality and compression settings |
| 109 | - Serialization to JSON (annotations and state) |
| 110 | - Deserialization (loading saved editor state) |
| 111 | - Reset functionality |
| 112 | - Export scenarios and best practices |
| 113 | |
| 114 | ### Undo & Redo Operations |
| 115 | 📄 **Read:** [references/undo-redo.md](references/undo-redo.md) |
| 116 | - |