jbowmanp1107 / ImageCropper.Maui

MIT License
43 stars 10 forks source link

ImageCropper.Maui

.NET MAUI plugin to crop and rotate photos.

Ported over and updated from from : https://github.com/stormlion227/ImageCropper.Forms

NuGet

Supports Android and iOS.

Features

Screen-Shots

Android

Crop/Rotate image(Rectangle/Android) Crop/Rotate image(Circle/Android)

iOS

Crop/Rotate image(Rectangle/iOS) Crop/Rotate image(Circle/iOS)

Setup

Android

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);

Usage

Show ImageCropper page.

    new ImageCropper()
    {
        Success = (imageFile) =>
        {
            Dispatcher.Dispatch(() =>
            {
                imageView.Source = ImageSource.FromFile(imageFile);
            });
        }
    }.Show(this);

Show it with additional parameters.

    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);

Show it with a image

    new ImageCropper()
    {
        Success = (imageFile) =>
        {
            Dispatcher.Dispatch(() =>
            {
                imageView.Source = ImageSource.FromFile(imageFile);
            });
        }
    }.Show(this, imageFileName);

Properties

Contributions

Contributions are welcome!