ClassRadImageEditor
A comprehensive image editing control for .NET MAUI applications that provides advanced image manipulation, transformation, and editing capabilities. The RadImageEditor delivers a solution for displaying, modifying, and saving images with an extensive set of built-in editing tools, filters, and effects.
Definition
Namespace:Telerik.Maui.Controls
Assembly:Telerik.Maui.Controls.dll
Syntax:
public class RadImageEditor : RadLayout
Inheritance: objectRadLayoutRadImageEditor
Inherited Members
Constructors
RadImageEditor()
Initializes a new instance of the RadImageEditor class.
Declaration
public RadImageEditor()
Fields
BusyIndicatorTemplateProperty
Identifies the BusyIndicatorTemplate property.
Declaration
public static readonly BindableProperty BusyIndicatorTemplateProperty
Field Value
BindableProperty
IsImageLoadedProperty
Identifies the IsImageLoaded property.
Declaration
public static readonly BindableProperty IsImageLoadedProperty
Field Value
BindableProperty
MaxZoomLevelProperty
Identifies the MaxZoomLevel property.
Declaration
public static readonly BindableProperty MaxZoomLevelProperty
Field Value
BindableProperty
MinZoomLevelProperty
Identifies the MinZoomLevel property.
Declaration
public static readonly BindableProperty MinZoomLevelProperty
Field Value
BindableProperty
SourceProperty
Identifies the Source property.
Declaration
public static readonly BindableProperty SourceProperty
Field Value
BindableProperty
ZoomLevelProperty
Identifies the ZoomLevel property.
Declaration
public static readonly BindableProperty ZoomLevelProperty
Field Value
BindableProperty
Properties
ApplyInteractiveCommand
Gets the command which applies the changes done in interactive command such as CropInteractiveCommand.
Declaration
public ICommand ApplyInteractiveCommand { get; }
Property Value
BlurCommand
Gets the command which applies blur to the image. The command accepts a single parameter of type BlurCommandContext, which specifies the radius of the blur filter.
BlurInteractiveCommand
Gets the command which initiates the blur action of the image. The command accepts a single parameter of type BlurCommandContext, which specifies the radius of the blur filter.
Declaration
public ICommand BlurInteractiveCommand { get; }
Property Value
BrightnessCommand
Gets the command which changes the brightness of the image. The command accepts a single parameter of type BrightnessCommandContext, which specifies the strength of the brightness filter.
BrightnessInteractiveCommand
Gets the command which initiates the brightness action of the image. The command accepts a single parameter of type BrightnessCommandContext, which specifies the strength of the brightness filter.
Declaration
public ICommand BrightnessInteractiveCommand { get; }
Property Value
BusyIndicatorTemplate
Gets or sets a DataTemplate to be used when displaying a busy indicator during long running operations, e.g. when loading an image. When no template is specified, a default busy indicator is shown.
Declaration
public DataTemplate BusyIndicatorTemplate { get; set; }
Property Value
DataTemplate
CancelInteractiveCommand
Gets the command which cancels the changes done in interactive command such as CropInteractiveCommand.
Declaration
public ICommand CancelInteractiveCommand { get; }
Property Value
ContrastCommand
Gets the command which changes the image contrast. The command accepts a single parameter of type ContrastCommandContext, which specifies the strength of the contrast filter.
ContrastInteractiveCommand
Gets the command which initiates the contrast action of the image. The command accepts a single parameter of type ContrastCommandContext, which specifies the strength of the contrast filter.
Declaration
public ICommand ContrastInteractiveCommand { get; }
Property Value
CropCommand
Gets the command which crops the image. The command accepts a single parameter of type CropCommandContext, which specifies the Geometry, Bounds and AspectRatio of the crop command.
CropInteractiveCommand
Gets the command which initiates crop action. The command accepts a single parameter of type CropCommandContext, which specifies the Geometry, Bounds and AspectRatio of the crop command.
Declaration
public ICommand CropInteractiveCommand { get; }
Property Value
FilterCommand
Gets the command which applies a composite filter to the image. The command accepts a single parameter of type FilterCommandContext, which specifies the values of the different filters.
FilterInteractiveCommand
Gets the command which initiates the composite filter action of the image. The command accepts a single parameter of type FilterCommandContext, which specifies the values of the different filters.
Declaration
public ICommand FilterInteractiveCommand { get; }
Property Value
FlipHorizontalCommand
Gets the command which flips the image horizontally.
Declaration
public ICommand FlipHorizontalCommand { get; }
Property Value
FlipVerticalCommand
Gets the command which flips the image vertically.
HueCommand
Gets the command which changes the image hue. The command accepts a single parameter of type HueCommandContext, which specifies the strength of the hue filter.
HueInteractiveCommand
Gets the command which initiates the hue action of the image. The command accepts a single parameter of type HueCommandContext, which specifies the strength of the hue filter.
Declaration
public ICommand HueInteractiveCommand { get; }
Property Value
IsImageLoaded
Gets a value indicating whether an image is loaded in the editor.
MaxZoomLevel
Gets or sets the maximum allowed zoom level of the image in percent.
MinZoomLevel
Gets or sets the minimum allowed zoom level of the image in percent.
RedoCommand
Gets the redo command.
ResetCommand
Gets the reset command.
ResizeCommand
Gets the command which resizes the image. The command accepts a single parameter of type ResizeCommandContext, which specifies different settings of the resize command.
ResizeInteractiveCommand
Gets the command which initiates the resize action of the image. The command accepts a single parameter of type ResizeCommandContext, which specifies different settings of the resize command.
Declaration
public ICommand ResizeInteractiveCommand { get; }
Property Value
RotateBackwardCommand
Gets the command which rotates the image backwards.
Declaration
public ICommand RotateBackwardCommand { get; }
Property Value
RotateLeftCommand
Gets the command which rotates the image 90 degree to the left.
RotateRightCommand
Gets the command which rotates the image 90 degree to the right.
SaturationCommand
Gets the command which changes the image saturation. The command accepts a single parameter of type SaturationCommandContext, which specifies the strength of the saturation filter.
SaturationInteractiveCommand
Gets the command which initiates the saturation action of the image. The command accepts a single parameter of type SaturationCommandContext, which specifies the strength of the saturation filter.
Declaration
public ICommand SaturationInteractiveCommand { get; }
Property Value
SharpenCommand
Gets the command which changes the image sharpness. The command accepts a single parameter of type SharpenCommandContext, which specifies the radius of the sharpen filter.
SharpenInteractiveCommand
Gets the command which initiates the sharpen action of the image. The command accepts a single parameter of type SharpenCommandContext, which specifies the radius of the sharpen filter.
Declaration
public ICommand SharpenInteractiveCommand { get; }
Property Value
Source
Gets or sets the source of the image to edit.
Declaration
public ImageSource Source { get; set; }
Property Value
ImageSource
UndoCommand
Gets the undo command.
ZoomInCommand
Gets the command which zooms the image in with the default zoom change factor.
ZoomLevel
Gets the current zoom level of the image in percent.
ZoomOutCommand
Gets the command which zooms the image out with the default zoom change factor.
ZoomToFitCommand
Gets the command which zooms the image to fit the available screen space.
ZoomToLevelCommand
Gets the command which zooms the image to a specified zoom level in percent. The command accepts a single parameter of type double, which specifies the desired zoom level in percent. The specified zoom level can be coerced according to the MinZoomLevel and MaxZoomLevel.
ZoomToOriginalCommand
Gets the command which zooms the image to its original size.
Declaration
public ICommand ZoomToOriginalCommand { get; }
Property Value
Methods
OnPropertyChanged(string)
Declaration
protected override void OnPropertyChanged(string propertyName = null)
Parameters
propertyName
SaveAsync(Stream, ImageFormat, double)
Saves the currently edited image to the specified stream, encoding it with the given format and quality. The saved image contains all currently applied changes in the editor.
Declaration
public Task SaveAsync(Stream outputStream, ImageFormat imageFormat, double imageQuality)
Parameters
outputStream
Specifies the output stream to save the image to.
imageFormat
ImageFormat
Specifies the image format to encode the image to. is not supported.
imageQuality
Specifies the quality of the encoded image, when using a lossy compression format: the value of 1 specifies the maximum possible quality, resulting in minimum compression; the value of 0 specifies the minimum possible quality, resulting in maximum compression.
Returns
Returns a Task to await the asynchronous operation.
SaveAsync(Stream, ImageFormat, double, Size)
Saves the currently edited image to the specified stream, encoding it with the given format, quality and size. The saved image contains all currently applied changes in the editor.
Declaration
public Task SaveAsync(Stream outputStream, ImageFormat imageFormat, double imageQuality, Size maximumSize)
Parameters
outputStream
Specifies the output stream to save the image to.
imageFormat
ImageFormat
Specifies the image format to encode the image to. is not supported.
imageQuality
Specifies the quality of the encoded image, when using a lossy compression format: the value of 1 specifies the maximum possible quality, resulting in minimum compression; the value of 0 specifies the minimum possible quality, resulting in maximum compression.
maximumSize
Size
Specifies the maximum desired size of the image to save: if the image is larger than the specified size, it is downscaled to fit that size; if the image is smaller than the specified size, it is saved with its original size.
Returns
Returns a Task to await the asynchronous operation.
SaveAsync(Stream, ImageFormat, double, double)
Saves the currently edited image to the specified stream, encoding it with the given format, quality and scale. The saved image contains all currently applied changes in the editor.
Declaration
public Task SaveAsync(Stream outputStream, ImageFormat imageFormat, double imageQuality, double scaleFactor)
Parameters
outputStream
Specifies the output stream to save the image to.
imageFormat
ImageFormat
Specifies the image format to encode the image to. is not supported.
imageQuality
Specifies the quality of the encoded image, when using a lossy compression format: the value of 1 specifies the maximum possible quality, resulting in minimum compression; the value of 0 specifies the minimum possible quality, resulting in maximum compression.
scaleFactor
Specifies a scale factor, which can be used to reduce the size of the final image: values below 1 downscale the image before saving, thus reducing the final image size; values above 1 upscale the image before saving, thus increasing the final image size.
Returns
Returns a Task to await the asynchronous operation.
ZoomIn()
Zooms the currently open image in using the default zoom change factor.
Declaration
public void ZoomIn()
ZoomOut()
Zooms the currently open image out using the default zoom change factor.
Declaration
public void ZoomOut()
ZoomToFit()
Zooms the currently open image to fit the available size.
Declaration
public void ZoomToFit()
ZoomToLevel(double)
Zooms the currently open image to the specified zoom level in percent. The specified zoom level can be coerced according to the values of the MinZoomLevel and MaxZoomLevel properties.
Declaration
public void ZoomToLevel(double zoomLevel)
Parameters
zoomLevel
Specifies the zoom level in percent.
ZoomToOriginal()
Zooms the currently open image to its original size.
Declaration
public void ZoomToOriginal()
Events
ImageLoaded
Raised when an image is loaded in the editor.
Declaration
public event EventHandler<ImageLoadedEventArgs> ImageLoaded
Event Value