.NET MAUI plugin to crop and rotate photos.
Ported over and updated from from : https://github.com/stormlion227/ImageCropper.Forms
Supports Android and iOS.
- Android library from : https://github.com/CanHub/Android-Image-Cropper
- iOS library from : https://github.com/TimOliver/TOCropViewController
- Cropping image.
- Rotating image.
- Aspect ratio.
- Circle/Rectangle shape.
-
Install the nuget package in portable and all platform specific projects. NOTE: TOCropView.Maui results in long file paths, and if your base repo path is little long, this package cannot be succesfully installed from Visual Studio. To work around this issue install the package using 'dotnet restore' from the CLI.
-
This plugin uses the MediaPicker, so be sure to complete the full setup this. Please fully read through the MediaPicker description.
Add the following to your AndroidManifest.xml inside the tags:
<activity android:name="com.canhub.cropper.CropImageActivity"
android:theme="@style/Base.Theme.AppCompat"/>
In MainActivity.cs file:
public class MainActivity : MauiAppCompatActivity
{
protected override void OnCreate(Bundle savedInstanceState)
{
new ImageCropper.Maui.Platform().Init(this);
base.OnCreate(savedInstanceState);
}
}
### iOS
In AppDelegate.cs file:
```cs
new ImageCropper.Maui.Platform().Init(this);
new ImageCropper()
{
Success = (imageFile) =>
{
Dispatcher.Dispatch(() =>
{
imageView.Source = ImageSource.FromFile(imageFile);
});
}
}.Show(this);
new ImageCropper()
{
PageTitle = "Test Title",
AspectRatioX = 1,
AspectRatioY = 1,
CropShape = ImageCropper.CropShapeType.Oval,
SelectSourceTitle = "Select source",
TakePhotoTitle = "Take Photo",
PhotoLibraryTitle = "Photo Library",
CancelButtonTitle = "Cancel",
Success = (imageFile) =>
{
Dispatcher.Dispatch(() =>
{
imageView.Source = ImageSource.FromFile(imageFile);
});
}
}.Show(this);
new ImageCropper()
{
Success = (imageFile) =>
{
Dispatcher.Dispatch(() =>
{
imageView.Source = ImageSource.FromFile(imageFile);
});
}
}.Show(this, imageFileName);
- PageTitle
- AspectRatioX
- AspectRatioY
- CropShape
- Initial image can be set in Show function.
Contributions are welcome!