New to Telerik UI for .NET MAUIStart a free 30-day trial

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:

C#
public class RadImageEditor : RadLayout

Inheritance: objectRadLayoutRadImageEditor

Inherited Members RadLayout.CreateLayoutManager()

Constructors

Initializes a new instance of the RadImageEditor class.

C#
public RadImageEditor()

Fields

Identifies the BusyIndicatorTemplate property.

C#
public static readonly BindableProperty BusyIndicatorTemplateProperty

IsImageLoadedProperty

BindableProperty

Identifies the IsImageLoaded property.

C#
public static readonly BindableProperty IsImageLoadedProperty

MaxZoomLevelProperty

BindableProperty

Identifies the MaxZoomLevel property.

C#
public static readonly BindableProperty MaxZoomLevelProperty

MinZoomLevelProperty

BindableProperty

Identifies the MinZoomLevel property.

C#
public static readonly BindableProperty MinZoomLevelProperty

SourceProperty

BindableProperty

Identifies the Source property.

C#
public static readonly BindableProperty SourceProperty

ZoomLevelProperty

BindableProperty

Identifies the ZoomLevel property.

C#
public static readonly BindableProperty ZoomLevelProperty

Properties

Gets the command which applies the changes done in interactive command such as CropInteractiveCommand.

C#
public ICommand ApplyInteractiveCommand { get; }

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.

C#
public ICommand BlurCommand { get; }

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.

C#
public ICommand BlurInteractiveCommand { get; }

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.

C#
public ICommand BrightnessCommand { get; }

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.

C#
public ICommand BrightnessInteractiveCommand { get; }

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.

C#
public DataTemplate BusyIndicatorTemplate { get; set; }

Gets the command which cancels the changes done in interactive command such as CropInteractiveCommand.

C#
public ICommand CancelInteractiveCommand { get; }

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.

C#
public ICommand ContrastCommand { get; }

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.

C#
public ICommand ContrastInteractiveCommand { get; }

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.

C#
public ICommand CropCommand { get; }

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.

C#
public ICommand CropInteractiveCommand { get; }

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.

C#
public ICommand FilterCommand { get; }

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.

C#
public ICommand FilterInteractiveCommand { get; }

Gets the command which flips the image horizontally.

C#
public ICommand FlipHorizontalCommand { get; }

Gets the command which flips the image vertically.

C#
public ICommand FlipVerticalCommand { get; }

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.

C#
public ICommand HueCommand { get; }

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.

C#
public ICommand HueInteractiveCommand { get; }

Gets a value indicating whether an image is loaded in the editor.

C#
public bool IsImageLoaded { get; }

Gets or sets the maximum allowed zoom level of the image in percent.

C#
public double MaxZoomLevel { get; set; }

Gets or sets the minimum allowed zoom level of the image in percent.

C#
public double MinZoomLevel { get; set; }

Gets the redo command.

C#
public ICommand RedoCommand { get; }

Gets the reset command.

C#
public ICommand ResetCommand { get; }

Gets the command which resizes the image. The command accepts a single parameter of type ResizeCommandContext, which specifies different settings of the resize command.

C#
public ICommand ResizeCommand { get; }

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.

C#
public ICommand ResizeInteractiveCommand { get; }

Gets the command which rotates the image backwards.

C#
public ICommand RotateBackwardCommand { get; }

Gets the command which rotates the image 90 degree to the left.

C#
public ICommand RotateLeftCommand { get; }

Gets the command which rotates the image 90 degree to the right.

C#
public ICommand RotateRightCommand { get; }

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.

C#
public ICommand SaturationCommand { get; }

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.

C#
public ICommand SaturationInteractiveCommand { get; }

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.

C#
public ICommand SharpenCommand { get; }

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.

C#
public ICommand SharpenInteractiveCommand { get; }

Source

ImageSource

Gets or sets the source of the image to edit.

C#
public ImageSource Source { get; set; }

Gets the undo command.

C#
public ICommand UndoCommand { get; }

Gets the command which zooms the image in with the default zoom change factor.

C#
public ICommand ZoomInCommand { get; }

Gets the current zoom level of the image in percent.

C#
public double ZoomLevel { get; }

Gets the command which zooms the image out with the default zoom change factor.

C#
public ICommand ZoomOutCommand { get; }

Gets the command which zooms the image to fit the available screen space.

C#
public ICommand ZoomToFitCommand { get; }

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.

C#
public ICommand ZoomToLevelCommand { get; }

Gets the command which zooms the image to its original size.

C#
public ICommand ZoomToOriginalCommand { get; }

Methods

C#
protected override void OnPropertyChanged(string propertyName = null)
Parameters:propertyNamestring
C#
protected override void OnSizeAllocated(double width, double height)
Parameters:widthdoubleheightdouble

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.

C#
public Task SaveAsync(Stream outputStream, ImageFormat imageFormat, double imageQuality, double scaleFactor)
Parameters:outputStreamStream

Specifies the output stream to save the image to.

imageFormatImageFormat

Specifies the image format to encode the image to. is not supported.

imageQualitydouble

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.

scaleFactordouble

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:

Task

Returns a Task to await the asynchronous operation.

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.

C#
public Task SaveAsync(Stream outputStream, ImageFormat imageFormat, double imageQuality, Size maximumSize)
Parameters:outputStreamStream

Specifies the output stream to save the image to.

imageFormatImageFormat

Specifies the image format to encode the image to. is not supported.

imageQualitydouble

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.

maximumSizeSize

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:

Task

Returns a Task to await the asynchronous operation.

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.

C#
public Task SaveAsync(Stream outputStream, ImageFormat imageFormat, double imageQuality)
Parameters:outputStreamStream

Specifies the output stream to save the image to.

imageFormatImageFormat

Specifies the image format to encode the image to. is not supported.

imageQualitydouble

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:

Task

Returns a Task to await the asynchronous operation.

Zooms the currently open image in using the default zoom change factor.

C#
public void ZoomIn()

Zooms the currently open image out using the default zoom change factor.

C#
public void ZoomOut()

Zooms the currently open image to fit the available size.

C#
public void ZoomToFit()

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.

C#
public void ZoomToLevel(double zoomLevel)
Parameters:zoomLeveldouble

Specifies the zoom level in percent.

Zooms the currently open image to its original size.

C#
public void ZoomToOriginal()

Events

Raised when an image is loaded in the editor.

C#
public event EventHandler<ImageLoadedEventArgs> ImageLoaded