Xamarin.Forms plugin to crop and rotate photos. UPDATED! Works on Android 28 & Resolves iOS missing icons issue
Supports Android and iOS.
- Android library from : https://github.com/ArthurHub/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.
- This plugin uses the MediaPlugin. Be sure to complete the full setup this plugin. Please fully read through the MediaPlugin description.
Add the following to your AndroidManifest.xml inside the tags:
	<activity android:name="com.theartofdev.edmodo.cropper.CropImageActivity"
	          android:theme="@style/Base.Theme.AppCompat"/>	In MainActivity.cs file:
    Stormlion.ImageCropper.Droid.Platform.Init();
    global::Xamarin.Forms.Forms.Init(this, bundle);    protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
    {
        base.OnActivityResult(requestCode, resultCode, data);
        Stormlion.ImageCropper.Droid.Platform.OnActivityResult(requestCode, resultCode, data);
    }In AppDelegate.cs file:
    Stormlion.ImageCropper.iOS.Platform.Init();    new ImageCropper()
    {
        Success = (imageFile) =>
        {
            Device.BeginInvokeOnMainThread(() =>
            {
                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) =>
        {
            Device.BeginInvokeOnMainThread(() =>
            {
                imageView.Source = ImageSource.FromFile(imageFile);
            });
        }
    }.Show(this);    new ImageCropper()
    {
        Success = (imageFile) =>
        {
            Device.BeginInvokeOnMainThread(() =>
            {
                imageView.Source = ImageSource.FromFile(imageFile);
            });
        }
    }.Show(this, imageFileName);- PageTitle
- AspectRatioX
- AspectRatioY
- CropShape
- Initial image can be set in Show function.
Contributions are welcome!



