title | author | description | keywords | dev_langs | ||
---|---|---|---|---|---|---|
ImageCropper |
HHChaos |
Learn how to use the ImageCropper XAML control. This control allows the user to freely crop an image. |
windows 10, uwp, windows community toolkit, uwp community toolkit, uwp toolkit, ImageCropper |
|
The ImageCropper Control allows user to freely crop an image.
[!div class="nextstepaction"] Try it in the sample app
<Page ...
xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls"/>
<controls:ImageCropper x:Name="ImageCropper" />
</Page>
Property | Type | Description |
---|---|---|
MinCroppedPixelLength | double | Gets or sets the minimum cropped length(in pixel). |
MinSelectedLength | double | Gets or sets the minimum selectable length. |
CroppedRegion | Rect | Gets the current cropped region. |
Source | WriteableBitmap | Gets or sets the source of the cropped image. |
AspectRatio | double? | Gets or sets the aspect ratio of the cropped image, the default value is null. |
CropShape | CropShape | Gets or sets the shape to use when cropping. |
Mask | Brush | Gets or sets the mask on the cropped image. |
PrimaryThumbStyle | Style | Gets or sets a value for the style to use for the primary thumbs of the ImageCropper. |
SecondaryThumbStyle | Style | Gets or sets a value for the style to use for the secondary thumbs of the ImageCropper. |
ThumbPlacement | ThumbPlacement | Gets or sets a value for thumb placement. |
Methods | Return Type | Description |
---|---|---|
LoadImageFromFile(StorageFile) | Task | Load an image from a file. |
SaveAsync(IRandomAccessStream,BitmapFileFormat,bool) | Task | Saves the cropped image to a stream with the specified format. Setting the boolean argument to True will save pixel values to the extent of the cropped area regardless of the crop shape, otherwise transparent or black pixels will fill the uncropped area depending on file format. |
Reset() | void | Reset the cropped area. |
TrySetCroppedRegion(Rect rect) | bool | Tries to set a new value for the cropped region, returns true if it succeeded, false if the region is invalid |
You can set the cropped image source by using the LoadImageFromFile(StorageFile)
method or setting the Source
property.
//Load an image.
await ImageCropper.LoadImageFromFile(file);
//Another way to load an image.
ImageCropper.Source = writeableBitmap;
//Saves the cropped image to a stream.
using (var fileStream = await someFile.OpenAsync(FileAccessMode.ReadWrite, StorageOpenOptions.None))
{
await _imageCropper.SaveAsync(fileStream, BitmapFileFormat.Png);
}
' Load an image.
Await ImageCropper.LoadImageFromFile(file)
' Another way to load an image.
ImageCropper.Source = writeableBitmap
' Saves the cropped image to a stream.
Using fileStream = Await someFile.OpenAsync(FileAccessMode.ReadWrite, StorageOpenOptions.None)
Await _imageCropper.SaveAsync(fileStream, BitmapFileFormat.Png)
End Using
You can set CropShape
property to use the circular ImageCropper.
ImageCropper.CropShape = CropShape.Circular;
ImageCropper.CropShape = CropShape.Circular
You can set AspectRatio
property to change the aspect ratio of the cropped image.
ImageCropper.AspectRatio = 16d / 9d;
ImageCropper.AspectRatio = 16R / 9R
Or you can crop image without aspect ratio.
ImageCropper.AspectRatio = null;
ImageCropper.AspectRatio = Nothing
ImageCropper Sample Page Source. You can see this in action in the Windows Community Toolkit Sample App.
ImageCropper XAML File is the XAML template used in the toolkit for the default styling.
Device family | Universal, 10.0.16299.0 or higher |
---|---|
Namespace | Microsoft.Toolkit.Uwp.UI.Controls |
NuGet package | Microsoft.Toolkit.Uwp.UI.Controls |