Class SfImageEditor
Represents a control that helps in editing the image.
Inheritance
Implements
Namespace: Syncfusion.UI.Xaml.ImageEditor
Assembly: Syncfusion.SfImageEditor.WPF.dll
Syntax
public class SfImageEditor : Control, IDisposable
Remarks
The SfImageEditor control is a very handy tool to edit an image by annotating with text and built-in shapes. It allows you to crop, rotate, and flip an image and has an in built toolbar to perform these operations.
Constructors
SfImageEditor()
Gets or sets a new instance of the SfImageEditor class.
Declaration
public SfImageEditor()
Fields
EditorResourceDictionaryProperty
The Dependency property for Syncfusion.UI.Xaml.ImageEditor.SfImageEditor.EditorResourceDictionary
Declaration
public static readonly DependencyProperty EditorResourceDictionaryProperty
Field Value
| Type |
|---|
| System.Windows.DependencyProperty |
EnablePanningProperty
Declaration
public static readonly DependencyProperty EnablePanningProperty
Field Value
| Type |
|---|
| System.Windows.DependencyProperty |
EnableZoomingProperty
The DependencyProperty for EnableZooming property.
Declaration
public static readonly DependencyProperty EnableZoomingProperty
Field Value
| Type |
|---|
| System.Windows.DependencyProperty |
ImageProperty
The DependencyProperty for Image property.
Declaration
public static readonly DependencyProperty ImageProperty
Field Value
| Type |
|---|
| System.Windows.DependencyProperty |
ImageSourceProperty
The DependencyProperty for ImageSource property.
Declaration
public static readonly DependencyProperty ImageSourceProperty
Field Value
| Type |
|---|
| System.Windows.DependencyProperty |
ResizableElementsProperty
The DependencyProperty for ResizableElements property.
Declaration
public static readonly DependencyProperty ResizableElementsProperty
Field Value
| Type |
|---|
| System.Windows.DependencyProperty |
ToolbarItemSelectionBackgroundProperty
The DependencyProperty for ToolbarItemSelectionBackground property.
Declaration
public static readonly DependencyProperty ToolbarItemSelectionBackgroundProperty
Field Value
| Type |
|---|
| System.Windows.DependencyProperty |
ToolbarSettingsProperty
The DependencyProperty for ToolbarSettings property.
Declaration
public static readonly DependencyProperty ToolbarSettingsProperty
Field Value
| Type |
|---|
| System.Windows.DependencyProperty |
Properties
Annotations
Gets the collection of annotations added in the image editor.
Declaration
public ReadOnlyCollection<ImageEditorAnnotationsInfo> Annotations { get; }
Property Value
| Type |
|---|
| System.Collections.ObjectModel.ReadOnlyCollection<ImageEditorAnnotationsInfo> |
Remarks
This property provides access to the annotations added in the image editor. Annotations can only be retrieved and cannot be set. Any changes made to the image will reset these annotations.
EnablePanning
Gets or sets a value indicating whether to enable the panning action or not.
Declaration
public bool EnablePanning { get; set; }
Property Value
| Type |
|---|
| System.Boolean |
EnableZooming
Gets or sets a value that indicates whether to enable zoom or not.
Declaration
public bool EnableZooming { get; set; }
Property Value
| Type |
|---|
| System.Boolean |
Image
Gets or sets the stream of the Image.
Declaration
public Stream Image { get; set; }
Property Value
| Type |
|---|
| System.IO.Stream |
ImageSource
Gets or sets the ImageSource for the image.
Declaration
public ImageSource ImageSource { get; set; }
Property Value
| Type |
|---|
| System.Windows.Media.ImageSource |
IsImageEdited
Gets a value that indicates whether image is edited or not.
Declaration
public bool IsImageEdited { get; }
Property Value
| Type |
|---|
| System.Boolean |
IsSelected
Gets a value that indicates whether editor items such as Text / Shapes gets selected or not.
Declaration
public bool IsSelected { get; }
Property Value
| Type |
|---|
| System.Boolean |
ResizableElements
Gets or sets the editor items that involve in resizing.
Declaration
public ImageEditorResizableElements ResizableElements { get; set; }
Property Value
| Type |
|---|
| ImageEditorResizableElements |
TextCommand
Gets a command to perform actions on the Text.
Declaration
public ICommand TextCommand { get; }
Property Value
| Type |
|---|
| System.Windows.Input.ICommand |
ToolbarItemSelectionBackground
Gets or sets the selection background for the toolbar items.
Declaration
public Brush ToolbarItemSelectionBackground { get; set; }
Property Value
| Type |
|---|
| System.Windows.Media.Brush |
ToolbarSettings
Gets or sets the SfImageEditor toolbar settings.
Declaration
public ToolbarSettings ToolbarSettings { get; set; }
Property Value
| Type |
|---|
| ToolbarSettings |
Methods
AddCustomView(FrameworkElement, CustomViewSettings)
Adds the custom view to the image in the specfied position.
Declaration
public void AddCustomView(FrameworkElement element, CustomViewSettings customViewSettings)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Windows.FrameworkElement | element | custom view |
| CustomViewSettings | customViewSettings | Settings to customize the positioning of custom view in image. |
AddShape(ShapeType, PenSettings)
Adds a shape based on the ShapeType with the sepecified PenSettings.
Declaration
public void AddShape(ShapeType shapeType, PenSettings penSettings)
Parameters
| Type | Name | Description |
|---|---|---|
| ShapeType | shapeType | Shape to be added |
| PenSettings | penSettings | PenSettings of the shape |
AddText(String, TextSettings)
Adds a text on the image with the specified TextSettings.
Declaration
public void AddText(string text, TextSettings textSettings)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | text | Text to be added |
| TextSettings | textSettings | TextSettings of the text. |
ArrangeOverride(Size)
Override method gets called framework arrange override.
Declaration
protected override Size ArrangeOverride(Size finalSize)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Windows.Size | finalSize | The final size. |
Returns
| Type | Description |
|---|---|
| System.Windows.Size | The calculated size. |
BringForward()
Brings the selected shape one step forward.
Declaration
public void BringForward()
BringToFront()
Brings the selected shape to the front of all the shapes added.
Declaration
public void BringToFront()
Crop(Rect, Boolean)
Crops the image to the specified bounds.
Declaration
public void Crop(Rect rect = null, bool isEllipse = false)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Windows.Rect | rect | Bounds to crop the image |
| System.Boolean | isEllipse | True to crop in elliptical shape, false otherwise.(Optional). |
Delete()
Deletes the added shape / text.
Declaration
public void Delete()
Deserialize(Stream)
DeSerializes the SfImageEditor based on the XML document contained by the specified Stream.
Declaration
public void Deserialize(Stream stream)
Parameters
| Type | Name | Description |
|---|---|---|
| System.IO.Stream | stream | Specifies the System.IO.Stream that contains the XML document to deserialize. |
Dispose()
Disposes the resources.
Declaration
public void Dispose()
Dispose(Boolean)
Disposes the resources if true.
Declaration
protected virtual void Dispose(bool disposing)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | disposing | bool value to dispose or not |
Flip(FlipDirection)
Flips an image based on the specified direction.
Declaration
public void Flip(FlipDirection flipDirection)
Parameters
| Type | Name | Description |
|---|---|---|
| FlipDirection | flipDirection | FlipDirection to flip the image |
MeasureOverride(Size)
Override method gets called framework measure override.
Declaration
protected override Size MeasureOverride(Size availableSize)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Windows.Size | availableSize |
Returns
| Type |
|---|
| System.Windows.Size |
OnApplyTemplate()
When overridden in a derived class, is invoked whenever application code or internal processes call ApplyTemplate().
Declaration
public override void OnApplyTemplate()
Redo()
Restores the actions carried out by Undo.
Declaration
public void Redo()
Reset()
Resets all the editing done in the image.
Declaration
public void Reset()
ResetZoom()
Resets the zooming applied to the image.
Declaration
public void ResetZoom()
Rotate()
Rotates the image by 90 degrees clockwise from the current state.
Declaration
public void Rotate()
Save(String, Size, String)
Saves the editied image.
Declaration
public void Save(string format = null, Size size = null, string filePath = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | format | Format in which image has to be saved |
| System.Windows.Size | size | Saves the image in the specified size. |
| System.String | filePath | Location to save the image |
SendBackward()
Push the selected shape to one step back.
Declaration
public void SendBackward()
SendToBack()
Push the selected shape to the back of the all the shapes added.
Declaration
public void SendToBack()
Serialize(Stream)
Serializes the SfImageEditor control to the XML document file that are stored in the specified Stream.
Declaration
public void Serialize(Stream stream)
Parameters
| Type | Name | Description |
|---|---|---|
| System.IO.Stream | stream | Specifies the System.IO.Stream used to write the XML document file. |
ToggleCropping()
Adds a preview of the crop to the full boundary of the image.
Declaration
public void ToggleCropping()
ToggleCropping(Single, Single, Boolean)
Adds a crop preview with the specified height to width ratio.
Declaration
public void ToggleCropping(float xRatio, float yRatio, bool isEllipse = false)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Single | xRatio | width ratio |
| System.Single | yRatio | height ratio |
| System.Boolean | isEllipse | Shape of the cropping, either in elliptical or rectangular format. |
ToggleCropping(Rect)
Adds the crop preview to the specified bounds.
Declaration
public void ToggleCropping(Rect rect)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Windows.Rect | rect | crop preview bounds |
ToggleCropping(Rect, Boolean)
Enables the cropping preview on the image with the specified rectangle bounds. Specify isCircleCropping as true to crop in elliptical shape.the cropping preview on the image with the specified rectangle bounds. Specify isEllipse as true to crop in elliptical shape.
Declaration
public void ToggleCropping(Rect rect, bool isEllipse)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Windows.Rect | rect | Bounds of the cropping preview on the image. |
| System.Boolean | isEllipse | True to crop in elliptical shape, false otherwise. |
Undo()
Reverses the last performed action.
Declaration
public void Undo()
Events
BeginReset
Invoked before resetting the edit done on the image.
Declaration
public event EventHandler<BeginResetEventArgs> BeginReset
Event Type
| Type |
|---|
| System.EventHandler<BeginResetEventArgs> |
EndReset
Invoked after resetting the edit done on the image.
Declaration
public event EventHandler<EndResetEventArgs> EndReset
Event Type
| Type |
|---|
| System.EventHandler<EndResetEventArgs> |
ImageEdited
Invoked whenever the image is edited.
Declaration
public event EventHandler<ImageEditedEventArgs> ImageEdited
Event Type
| Type |
|---|
| System.EventHandler<ImageEditedEventArgs> |
ImageLoaded
Invoked when the image is loaded.
Declaration
public event EventHandler<ImageLoadedEventArgs> ImageLoaded
Event Type
| Type |
|---|
| System.EventHandler<ImageLoadedEventArgs> |
ImageSaved
Invoked after the edited image has been saved to the location.
Declaration
public event EventHandler<ImageSavedEventArgs> ImageSaved
Event Type
| Type |
|---|
| System.EventHandler<ImageSavedEventArgs> |
ImageSaving
Invoked before the edited image is saved in the location.
Declaration
public event EventHandler<ImageSavingEventArgs> ImageSaving
Event Type
| Type |
|---|
| System.EventHandler<ImageSavingEventArgs> |
ItemSelected
Invoked when the editor items such as Text / Shapes get selected.
Declaration
public event EventHandler<ItemSelectedEventArgs> ItemSelected
Event Type
| Type |
|---|
| System.EventHandler<ItemSelectedEventArgs> |
ItemUnselected
Invoked when the editor items such as Text / Shapes get unselected.
Declaration
public event EventHandler<ItemUnselectedEventArgs> ItemUnselected
Event Type
| Type |
|---|
| System.EventHandler<ItemUnselectedEventArgs> |