Implementing the Syncfusion Blazor Image Editor Component
The Syncfusion Blazor Image Editor is a powerful, feature-rich component for building image editing capabilities into your Blazor applications. It provides a complete toolkit for image manipulation, annotation, transformation, and export with an intuitive UI and extensive API.
Navigation Guide
Getting Started
📄 Read: references/getting-started.md
- Installation of NuGet packages (Syncfusion.Blazor.ImageEditor, Syncfusion.Blazor.Themes)
- Blazor WebAssembly and Web App setup
- Import namespaces and register services
- Add stylesheet and script references
- Render the basic component
- NEW: Component properties (AllowUndoRedo, IsReadOnly, Enabled, Theme, CssClass, EnableImageSmoothing)
Core Operations
📄 Read: references/core-operations.md
- Open/load images from file explorer
- NEW: Complete OpenAsync signature with all 6 parameters (resetChanges, fillColor, width, height, isAspectRatio)
- Save and export images (PNG, JPEG, SVG, WEBP formats)
- Image quality settings for JPEG export
- Undo and redo operations with keyboard shortcuts (CanUndoAsync, CanRedoAsync)
- Reset image to original state
- NEW: Apply and Discard changes, Clear image, Get image data methods
Image Transformations
📄 Read: references/image-transformations.md
- Crop images with custom, circle, square, or ratio selections
- Rotate left, right, and arbitrary angles
- Flip horizontally and vertically
- Straighten images with slider control
- NEW: StraightenImageAsync method for precise angle adjustment (-45 to +45 degrees)
- Resize images to specific dimensions
- Pan images within the canvas
Annotations
📄 Read: references/annotations.md
- Add text annotations with customization (font, size, color, bold, italic, underline, strikethrough)
- NEW: Complete DrawTextAsync with underline and strikethrough parameters
- Create multiline text annotations
- Enable freehand drawing with stroke control
- Draw shapes (rectangles, ellipses, arrows, paths, lines)
- Insert image annotations (watermarks, logos, decorative elements)
- NEW: Annotation z-order management (BringToFrontAsync, SendToBackAsync, BringForwardAsync, SendBackwardAsync)
- NEW: Clone annotations with CloneShapeAsync
- NEW: Enable/disable annotation modes (EnableActiveAnnotationAsync, DisableActiveAnnotationAsync)
- NEW: Enable text editing mode
- Delete and manage annotations using ShapeSettings and IDs
Annotation Styling
📄 Read: references/annotation-styling.md
- Customize stroke width, color, and fill colors
- Apply font styling for text annotations
- Use ShapeChanging event for dynamic customization
- Configure default stroke colors and styles
- Work with ShapeSettings properties
Adjustments, Filters & Effects
📄 Read: references/adjustments-filters-effects.md
- Apply fine-tuning adjustments (brightness, contrast, saturation, hue, blur, etc.)
- Use slider controls for adjustment preview
- Apply filters to images (predefined effects)
- Add frame effects to images
- Commit or preview changes before applying
Redaction
📄 Read: references/redaction.md NEW
- Draw redactions with blur or pixelate effects
- RedactType enum (Blur, Pixelate)
- Control blur intensity and pixel size
- Get, select, update, and delete redactions
- RedactSettings class properties
- Privacy protection and GDPR compliance use cases
Frames
📄 Read: references/frames.md NEW
- Apply decorative frames to images
- FrameType enum (Mat, Bevel, Line, Inset, Hook)
- Customize frame colors, gradients, sizes
- FrameLineStyle for Line frames (Solid, Dashed, Dotted)
- Configure inset, offset, border radius, and line count
- Professional photo presentation examples
Events Reference
📄 Read: references/events-reference.md NEW
- Complete ImageEditorEvents documentation
- Lifecycle events (Created, Destroyed)
- File operation events (FileOpened, Saving)
- Transformation events (Cropping/Cropped, Rotating/Rotated, Flipping/Flipped)
- Shape events (ShapeChanging/ShapeChanged, resize/drag start/end)
- Adjustment events (ImageFiltering/Filtered, FinetuneValueChanging/Changed, FrameChanging/Changed)
- User interaction events (Zooming/Zoomed, OnPanStart/End, Clicked)
- Toolbar events (ToolbarUpdating, ToolbarItemClicked, QuickAccessToolbarOpening)
- History events (HistoryChanged)
- Event arguments reference for all events
Toolbar Customization
📄 Read: references/toolbar-customization.md
- Reference of built-in toolbar items (Open, Crop, Rotate, Annotation, Filters, etc.)
- Add custom toolbar items and buttons
- Show/hide entire toolbar or specific items
- Enable/disable toolbar items conditionally
- Customize contextual toolbars using ToolbarUpdating event
- Create custom toolbar templates
User Interactions
📄 Read: references/user-interactions.md
- Zoom methods (toolbar buttons, pinch gesture, mouse wheel, keyboard shortcuts)
- Pan/move images across the canvas
- Selection types for cropping
- Get image dimensions and coordinates
- Keyboard shortcuts reference (Ctrl+Z, Ctrl+Y, Ctrl+S, etc.)
Accessibility & Localization
📄 Read: references/accessibility-localization.md
- WCAG compliance and accessibility features
- Keyboard navigation support
- Screen reader compatibility
- ARIA attributes
- Color contrast standards
- Localization and RTL support
Setup Modes & Deployment
📄 Read: references/setup-modes.md
- WebAssembly app setup (Visual Studio, VS Code, .NET CLI)
- Web App setup with interactive render modes (Auto, WebAssembly, Server)
- Theme configuration (Bootstrap5, Fluent2, Material3, Tailwind3)
- Static Web Assets vs CDN references
- Script references and dependencies
Quick Start Example
@using Syncfusion.Blazor.ImageEditor
<SfImageEditor @ref="ImageEditor" Height="500px" Width="100%">
<ImageEditorEvents Created="OnCreated"></ImageEditorEvents>
</SfImageEditor>
@code {
SfImageEditor ImageEditor;
private async void OnCreated()
{
// Load an image when component is ready
await ImageEditor.OpenAsync("path/to/image.png");
}
}
Setup steps:
- Install NuGet packages:
Syncfusion.Blazor.ImageEditor and Syncfusion.Blazor.Themes
- Add imports in
_Imports.razor: @using Syncfusion.Blazor.ImageEditor
- Register service in
Program.cs: builder.Services.AddSyncfusionBlazor();
- Add theme stylesheet to
index.html or App.razor
- Add the component and load an image in the
Created event
Key Capabilities
| Feature |
Purpose |
Reference |
| Image Loading |
Open JPEG, PNG, JPG, WEBP, BMP files |
core-operations.md |
| Text Annotations |
Add labels, captions, watermarks with underline/strikethrough |
annotations.md |
| Shape Annotations |
Draw rectangles, ellipses, arrows, paths with z-order control |
annotations.md |
| Freehand Drawing |
Sketch and draw directly on images |
annotations.md |
| Redaction |
Hide sensitive info with blur/pixelate for privacy compliance |
redaction.md |
| Frames |
Apply decorative borders (Mat, Bevel, Line, Inset, Hook) |
frames.md |
| Crop & Transform |
Crop with multiple selection types, rotate, flip, straighten |
image-transformations.md |
| Filters & Effects |
Apply fine-tuning and predefined filters |
adjustments-filters-effects.md |
| Zoom & Pan |
Multiple zoom methods and image panning |
user-interactions.md |
| Export |
Save as PNG, JPEG, SVG, WEBP with quality control |
core-operations.md |
| Undo/Redo |
Full history of operations |
core-operations.md |
| Events |
30+ lifecycle, transformation, shape, and interaction events |
events-reference.md |
| Toolbar |
Built-in or custom toolbar with events |
toolbar-customization.md |
| Accessibility |
Keyboard navigation, screen readers, RTL, localization |
accessibility-localization.md |
Common Patterns
Pattern 1: Load Image and Enable Annotations
<SfImageEditor @ref="ImageEditor" Height="500px">
<ImageEditorEvents Created="OnCreated"></ImageEditorEvents>
</SfImageEditor>
@code {
SfImageEditor ImageEditor;
private string ImageUrl = "YOUR_IMAGE_URL";
private async void OnCreated()
{
await ImageEditor.OpenAsync(ImageUrl);
}
private async Task AddTextAnnotation()
{
ImageDimension dim = await ImageEditor.GetImageDimensionAsync();
await ImageEditor.DrawTextAsync(dim.X.Value, dim.Y.Value, "Important", "Arial", 24);
}
}
Pattern 2: Custom Toolbar
<SfImageEditor @ref="ImageEditor" Toolbar="@CustomToolbar" Height="500px">
<ImageEditorEvents Created="OnCreated" ToolbarItemClicked="OnToolbarClick"></ImageEditorEvents>
</SfImageEditor>
@code {
private List<ImageEditorToolbarItemModel> CustomToolbar = new()
{
new ImageEditorToolbarItemModel { Name = "Open" },
new ImageEditorToolbarItemModel { Name = "Crop" },
new ImageEditorToolbarItemModel { Name = "Annotation" },
new ImageEditorToolbarItemModel { Name = "Save" }
};
}
Pattern 3: Export Image with Quality Control
private async Task ExportImage()
{
// Export as PNG (lossless, default)
await ImageEditor.ExportAsync("edited-image.png");
// Export as JPEG with quality control (0.0 to 1.0)
await ImageEditor.ExportAsync("photo.jpg", ImageEditorFileType.JPEG, 0.85);
// Export as WEBP (modern format)
await ImageEditor.ExportAsync("image.webp", ImageEditorFileType.WEBP);
// Export as SVG (vector format)
await ImageEditor.ExportAsync("graphic.svg", ImageEditorFileType.SVG);
// Or press Ctrl+S to open export dialog with format selection
}
Pattern 4: Privacy Redaction Workflow
<SfImageEditor @ref="ImageEditor" Height="500px">
<ImageEditorEvents Created="OnCreated"></ImageEditorEvents>
</SfImageEditor>
@code {
SfImageEditor ImageEditor;
private async Task RedactSensitiveInfo()
{
// Draw blur redaction over sensitive areas
await ImageEditor.DrawRedactAsync(
RedactType.Blur,
startX: 100, startY: 100,
width: 200, height: 50,
value: 30 // Blur intensity
);
// Draw pixelate redaction over other areas
await ImageEditor.DrawRedactAsync(
RedactType.Pixelate,
startX: 400, startY: 200,
width: 200, height: 50,
value: 20 // Pixel size
);
// Export redacted image
await ImageEditor.ExportAsync("redacted-document.png");
}
}
Pattern 5: Professional Photo Framing
<SfImageEditor @ref="ImageEditor" Height="500px">
<ImageEditorEvents Created="OnCreated"></ImageEditorEvents>
</SfImageEditor>
@code {
SfImageEditor ImageEditor;
private async Task ApplyPhotoFrame()
{
// Load portrait image
await ImageEditor.OpenAsync("portrait.jpg");
// Apply classic mat frame with gradient
await ImageEditor.DrawFrameAsync(
FrameType.Mat,
color: "#FFFFFF",
gradientColor: "#F5F5DC",
size: 50,
inset: 20
);
// Export framed image
await ImageEditor.ExportAsync("framed-portrait.png");
}
}
Related Skills
Note: All code examples use Blazor component syntax. Refer to the Getting Started guide for setup instructions specific to your Blazor hosting model (WebAssembly, Web App, Server).
1---
2name: syncfusion-blazor-image-editor
3description: Implement comprehensive image editing capabilities in Blazor applications using the Syncfusion Image Editor component. Use this skill when implementing image editing, annotations, transformations, cropping, filtering, zooming, and panning features. Supports annotations (text, shapes, freehand), transformations (crop, rotate, flip, resize), effects (filters, fine-tuning), toolbar customization, and keyboard shortcuts.
4metadata:
5 author: "Syncfusion Inc"
6 version: "34.1.29"
7 category: "File Editors"
8---
9
10# Implementing the Syncfusion Blazor Image Editor Component
11
12The Syncfusion Blazor Image Editor is a powerful, feature-rich component for building image editing capabilities into your Blazor applications. It provides a complete toolkit for image manipulation, annotation, transformation, and export with an intuitive UI and extensive API.
13
14## Navigation Guide
15
16### Getting Started
17📄 **Read:** [references/getting-started.md](references/getting-started.md)
18- Installation of NuGet packages (Syncfusion.Blazor.ImageEditor, Syncfusion.Blazor.Themes)
19- Blazor WebAssembly and Web App setup
20- Import namespaces and register services
21- Add stylesheet and script references
22- Render the basic component
23- **NEW:** Component properties (AllowUndoRedo, IsReadOnly, Enabled, Theme, CssClass, EnableImageSmoothing)
24
25### Core Operations
26📄 **Read:** [references/core-operations.md](references/core-operations.md)
27- Open/load images from file explorer
28- **NEW:** Complete OpenAsync signature with all 6 parameters (resetChanges, fillColor, width, height, isAspectRatio)
29- Save and export images (PNG, JPEG, SVG, WEBP formats)
30- Image quality settings for JPEG export
31- Undo and redo operations with keyboard shortcuts (CanUndoAsync, CanRedoAsync)
32- Reset image to original state
33- **NEW:** Apply and Discard changes, Clear image, Get image data methods
34
35### Image Transformations
36📄 **Read:** [references/image-transformations.md](references/image-transformations.md)
37- Crop images with custom, circle, square, or ratio selections
38- Rotate left, right, and arbitrary angles
39- Flip horizontally and vertically
40- Straighten images with slider control
41- **NEW:** StraightenImageAsync method for precise angle adjustment (-45 to +45 degrees)
42- Resize images to specific dimensions
43- Pan images within the canvas
44
45### Annotations
46📄 **Read:** [references/annotations.md](references/annotations.md)
47- Add text annotations with customization (font, size, color, bold, italic, underline, strikethrough)
48- **NEW:** Complete DrawTextAsync with underline and strikethrough parameters
49- Create multiline text annotations
50- Enable freehand drawing with stroke control
51- Draw shapes (rectangles, ellipses, arrows, paths, lines)
52- Insert image annotations (watermarks, logos, decorative elements)
53- **NEW:** Annotation z-order management (BringToFrontAsync, SendToBackAsync, BringForwardAsync, SendBackwardAsync)
54- **NEW:** Clone annotations with CloneShapeAsync
55- **NEW:** Enable/disable annotation modes (EnableActiveAnnotationAsync, DisableActiveAnnotationAsync)
56- **NEW:** Enable text editing mode
57- Delete and manage annotations using ShapeSettings and IDs
58
59### Annotation Styling
60📄 **Read:** [references/annotation-styling.md](references/annotation-styling.md)
61- Customize stroke width, color, and fill colors
62- Apply font styling for text annotations
63- Use ShapeChanging event for dynamic customization
64- Configure default stroke colors and styles
65- Work with ShapeSettings properties
66
67### Adjustments, Filters & Effects
68📄 **Read:** [references/adjustments-filters-effects.md](references/adjustments-filters-effects.md)
69- Apply fine-tuning adjustments (brightness, contrast, saturation, hue, blur, etc.)
70- Use slider controls for adjustment preview
71- Apply filters to images (predefined effects)
72- Add frame effects to images
73- Commit or preview changes before applying
74
75### Redaction
76📄 **Read:** [references/redaction.md](references/redaction.md) **NEW**
77- Draw redactions with blur or pixelate effects
78- RedactType enum (Blur, Pixelate)
79- Control blur intensity and pixel size
80- Get, select, update, and delete redactions
81- RedactSettings class properties
82- Privacy protection and GDPR compliance use cases
83
84### Frames
85📄 **Read:** [references/frames.md](references/frames.md) **NEW**
86- Apply decorative frames to images
87- FrameType enum (Mat, Bevel, Line, Inset, Hook)
88- Customize frame colors, gradients, sizes
89- FrameLineStyle for Line frames (Solid, Dashed, Dotted)
90- Configure inset, offset, border radius, and line count
91- Professional photo presentation examples
92
93### Events Reference
94📄 **Read:** [references/events-reference.md](references/events-reference.md) **NEW**
95- Complete ImageEditorEvents documentation
96- Lifecycle events (Created, Destroyed)
97- File operation events (FileOpened, Saving)
98- Transformation events (Cropping/Cropped, Rotating/Rotated, Flipping/Flipped)
99- Shape events (ShapeChanging/ShapeChanged, resize/drag start/end)
100- Adjustment events (ImageFiltering/Filtered, FinetuneValueChanging/Changed, FrameChanging/Changed)
101- User interaction events (Zooming/Zoomed, OnPanStart/End, Clicked)
102- Toolbar events (ToolbarUpdating, ToolbarItemClicked, QuickAccessToolbarOpening)
103- History events (HistoryChanged)
104- Event arguments reference for all events
105
106### Toolbar Customization
107📄 **Read:** [references/toolbar-customization.md](references/toolbar-customization.md)
108- Reference of built-in toolbar items (Open, Crop, Rotate, Annotation, Filters, etc.)
109- Add custom toolbar items and buttons
110- Show/hide entire toolbar or specific items
111- Enable/disable toolbar items conditionally
112- Customize contextual toolbars using ToolbarUpdating event
113- Create custom toolbar templates
114
115### User Interactions
116📄 **Read:** [references/user-interactions.md](references/user-interactions.md)
117- Zoom methods (toolbar buttons, pinch gesture, mouse wheel, keyboard shortcuts)
118- Pan/move images across the canvas
119- Selection types for cropping
120- Get image dimensions and coordinates
121- Keyboard shortcuts reference (Ctrl+Z, Ctrl+Y, Ctrl+S, etc.)
122
123### Accessibility & Localization
124📄 **Read:** [references/accessibility-localization.md](references/accessibility-localization.md)
125- WCAG compliance and accessibility features
126- Keyboard navigation support
127- Screen reader compatibility
128- ARIA attributes
129- Color contrast standards
130- Localization and RTL support
131
132### Setup Modes & Deployment
133📄 **Read:** [references/setup-modes.md](references/setup-modes.md)
134- WebAssembly app setup (Visual Studio, VS Code, .NET CLI)
135- Web App setup with interactive render modes (Auto, WebAssembly, Server)
136- Theme configuration (Bootstrap5, Fluent2, Material3, Tailwind3)
137- Static Web Assets vs CDN references
138- Script references and dependencies
139
140## Quick Start Example
141
142```csharp
143@using Syncfusion.Blazor.ImageEditor
144
145<SfImageEditor @ref="ImageEditor" Height="500px" Width="100%">
146 <ImageEditorEvents Created="OnCreated"></ImageEditorEvents>
147</SfImageEditor>
148
149@code {
150 SfImageEditor ImageEditor;
151
152 private async void OnCreated()
153 {
154 // Load an image when component is ready
155 await ImageEditor.OpenAsync("path/to/image.png");
156 }
157}
158```
159
160**Setup steps:**
1611. Install NuGet packages: `Syncfusion.Blazor.ImageEditor` and `Syncfusion.Blazor.Themes`
1622. Add imports in `_Imports.razor`: `@using Syncfusion.Blazor.ImageEditor`
1633. Register service in `Program.cs`: `builder.Services.AddSyncfusionBlazor();`
1644. Add theme stylesheet to `index.html` or `App.razor`
1655. Add the component and load an image in the `Created` event
166
167## Key Capabilities
168
169| Feature | Purpose | Reference |
170|---------|---------|-----------|
171| **Image Loading** | Open JPEG, PNG, JPG, WEBP, BMP files | core-operations.md |
172| **Text Annotations** | Add labels, captions, watermarks with underline/strikethrough | annotations.md |
173| **Shape Annotations** | Draw rectangles, ellipses, arrows, paths with z-order control | annotations.md |
174| **Freehand Drawing** | Sketch and draw directly on images | annotations.md |
175| **Redaction** | Hide sensitive info with blur/pixelate for privacy compliance | redaction.md |
176| **Frames** | Apply decorative borders (Mat, Bevel, Line, Inset, Hook) | frames.md |
177| **Crop & Transform** | Crop with multiple selection types, rotate, flip, straighten | image-transformations.md |
178| **Filters & Effects** | Apply fine-tuning and predefined filters | adjustments-filters-effects.md |
179| **Zoom & Pan** | Multiple zoom methods and image panning | user-interactions.md |
180| **Export** | Save as PNG, JPEG, SVG, WEBP with quality control | core-operations.md |
181| **Undo/Redo** | Full history of operations | core-operations.md |
182| **Events** | 30+ lifecycle, transformation, shape, and interaction events | events-reference.md |
183| **Toolbar** | Built-in or custom toolbar with events | toolbar-customization.md |
184| **Accessibility** | Keyboard navigation, screen readers, RTL, localization | accessibility-localization.md |
185
186## Common Patterns
187
188### Pattern 1: Load Image and Enable Annotations
189```csharp
190<SfImageEditor @ref="ImageEditor" Height="500px">
191 <ImageEditorEvents Created="OnCreated"></ImageEditorEvents>
192</SfImageEditor>
193
194@code {
195 SfImageEditor ImageEditor;
196 private string ImageUrl = "YOUR_IMAGE_URL";
197
198 private async void OnCreated()
199 {
200 await ImageEditor.OpenAsync(ImageUrl);
201 }
202
203 private async Task AddTextAnnotation()
204 {
205 ImageDimension dim = await ImageEditor.GetImageDimensionAsync();
206 await ImageEditor.DrawTextAsync(dim.X.Value, dim.Y.Value, "Important", "Arial", 24);
207 }
208}
209```
210
211### Pattern 2: Custom Toolbar
212```csharp
213<SfImageEditor @ref="ImageEditor" Toolbar="@CustomToolbar" Height="500px">
214 <ImageEditorEvents Created="OnCreated" ToolbarItemClicked="OnToolbarClick"></ImageEditorEvents>
215</SfImageEditor>
216
217@code {
218 private List<ImageEditorToolbarItemModel> CustomToolbar = new()
219 {
220 new ImageEditorToolbarItemModel { Name = "Open" },
221 new ImageEditorToolbarItemModel { Name = "Crop" },
222 new ImageEditorToolbarItemModel { Name = "Annotation" },
223 new ImageEditorToolbarItemModel { Name = "Save" }
224 };
225}
226```
227
228### Pattern 3: Export Image with Quality Control
229```csharp
230private async Task ExportImage()
231{
232 // Export as PNG (lossless, default)
233 await ImageEditor.ExportAsync("edited-image.png");
234
235 // Export as JPEG with quality control (0.0 to 1.0)
236 await ImageEditor.ExportAsync("photo.jpg", ImageEditorFileType.JPEG, 0.85);
237
238 // Export as WEBP (modern format)
239 await ImageEditor.ExportAsync("image.webp", ImageEditorFileType.WEBP);
240
241 // Export as SVG (vector format)
242 await ImageEditor.ExportAsync("graphic.svg", ImageEditorFileType.SVG);
243
244 // Or press Ctrl+S to open export dialog with format selection
245}
246```
247
248### Pattern 4: Privacy Redaction Workflow
249```csharp
250<SfImageEditor @ref="ImageEditor" Height="500px">
251 <ImageEditorEvents Created="OnCreated"></ImageEditorEvents>
252</SfImageEditor>
253
254@code {
255 SfImageEditor ImageEditor;
256
257 private async Task RedactSensitiveInfo()
258 {
259 // Draw blur redaction over sensitive areas
260 await ImageEditor.DrawRedactAsync(
261 RedactType.Blur,
262 startX: 100, startY: 100,
263 width: 200, height: 50,
264 value: 30 // Blur intensity
265 );
266
267 // Draw pixelate redaction over other areas
268 await ImageEditor.DrawRedactAsync(
269 RedactType.Pixelate,
270 startX: 400, startY: 200,
271 width: 200, height: 50,
272 value: 20 // Pixel size
273 );
274
275 // Export redacted image
276 await ImageEditor.ExportAsync("redacted-document.png");
277 }
278}
279```
280
281### Pattern 5: Professional Photo Framing
282```csharp
283<SfImageEditor @ref="ImageEditor" Height="500px">
284 <ImageEditorEvents Created="OnCreated"></ImageEditorEvents>
285</SfImageEditor>
286
287@code {
288 SfImageEditor ImageEditor;
289
290 private async Task ApplyPhotoFrame()
291 {
292 // Load portrait image
293 await ImageEditor.OpenAsync("portrait.jpg");
294
295 // Apply classic mat frame with gradient
296 await ImageEditor.DrawFrameAsync(
297 FrameType.Mat,
298 color: "#FFFFFF",
299 gradientColor: "#F5F5DC",
300 size: 50,
301 inset: 20
302 );
303
304 // Export framed image
305 await ImageEditor.ExportAsync("framed-portrait.png");
306 }
307}
308```
309
310## Related Skills
311
312- [Implementing Blazor Components](../implementing-syncfusion-blazor-components/) - Main library overview
313- [Implementing Carousels](../navigation/implementing-carousels/) - Image carousel display
314- [Implementing Rich Text Editor](../file-viewers-editors/implementing-rich-text-editor/) - Text editing capabilities
315
316---
317
318**Note:** All code examples use Blazor component syntax. Refer to the Getting Started guide for setup instructions specific to your Blazor hosting model (WebAssembly, Web App, Server).