Beispiel #1
0
        private void CropImage()
        {
            var croppedFile    = CreateTempFile(_cacheDir, "cropped");
            var destinationUri = AndroidUri.FromFile(croppedFile);
            var options        = new UCrop.Options();

            // applying UI theme
            options.SetToolbarColor(ContextCompat.GetColor(this, Resource.Color.colorPrimary));
            options.SetStatusBarColor(ContextCompat.GetColor(this, Resource.Color.colorPrimary));
            options.SetActiveControlsWidgetColor(ContextCompat.GetColor(this, Resource.Color.colorPrimary));
            options.WithAspectRatio(1, 1);
            options.WithMaxResultSize(2000, 2000);
            options.SetCompressionQuality(80);

            UCrop.Of(_photoUri, destinationUri)
            .WithOptions(options)
            .Start(this);
        }
        private void CropImage(Uri selectedImageURI)
        {
            Uri destinationUri = Uri.FromFile(new File(Context.CacheDir, QueryName(Context.ContentResolver, selectedImageURI)));

            UCrop.Options options = new UCrop.Options();
            options.SetCompressionQuality(IMAGE_COMPRESSION);
            options.SetToolbarColor(ContextCompat.GetColor(Context, Resource.Color.colorPrimary));
            options.SetStatusBarColor(ContextCompat.GetColor(Context, Resource.Color.colorPrimaryDark));
            options.SetActiveControlsWidgetColor(ContextCompat.GetColor(Context, Resource.Color.colorAccent));

            if (lockAspectRatio)
            {
                options.WithAspectRatio(ASPECT_RATIO_X, ASPECT_RATIO_Y);
            }

            if (setBitmapMaxWidthHeight)
            {
                options.WithMaxResultSize(bitmapMaxWidth, bitmapMaxHeight);
            }

            UCrop.Of(selectedImageURI, destinationUri)
            .WithOptions(options)
            .Start(Context, this, UCROP_REQUEST);
        }
        private UCrop AdvancedConfig(UCrop uCrop)
        {
            UCrop.Options options = new UCrop.Options();

            switch (mRadioGroupCompressionSettings.CheckedRadioButtonId)
            {
            case Resource.Id.radio_png:
                options.SetCompressionFormat(Bitmap.CompressFormat.Png);

                break;

            case Resource.Id.radio_jpeg:

            default:
                options.SetCompressionFormat(Bitmap.CompressFormat.Jpeg);

                break;
            }
            options.SetCompressionQuality(mSeekBarQuality.Progress);

            options.SetHideBottomControls(mCheckBoxHideBottomControls.Checked);
            options.SetFreeStyleCropEnabled(mCheckBoxFreeStyleCrop.Checked);

            /*
             * If you want to configure how gestures work for all UCropActivity tabs
             *
             * options.SetAllowedGestures(UCropActivity.Scale, UCropActivity.Rotate, UCropActivity.All);
             *
             * */

            /*
             * This sets max size for bitmap that will be decoded from source Uri.
             * More size - more memory allocation, default implementation uses screen diagonal.
             *
             * options.SetMaxBitmapSize(640);
             *
             * */


            /*
             *
             * Tune everything
             *
             * options.SetMaxScaleMultiplier(5);
             * options.SetImageToCropBoundsAnimDuration(666);
             * options.SetDimmedLayerColor(Color.Cyan);
             * options.SetCircleDimmedLayer(true);
             * options.SetShowCropFrame(false);
             * options.SetCropGridStrokeWidth(20);
             * options.SetCropGridColor(Color.Green);
             * options.SetCropGridColumnCount(2);
             * options.SetCropGridRowCount(1);
             *
             * // not found two below methods
             * //options.SetToolbarCropDrawable(Resource.Drawable.your_crop_icon);
             * //options.SetToolbarCancelDrawable(Resource.Drawable.your_cancel_icon);
             *
             * // Color palette
             * //options.SetToolbarColor(ContextCompat.GetColor(this, Resource.Color.your_color_res));
             * //options.SetStatusBarColor(ContextCompat.GetColor(this, Resource.Color.your_color_res));
             * //options.SetActiveWidgetColor(ContextCompat.GetColor(this, Resource.Color.your_color_res));
             * //options.SetToolbarWidgetColor(ContextCompat.GetColor(this, Resource.Color.your_color_res));
             *
             * // not found the below method
             * //options.SetRootViewBackgroundColor(ContextCompat.getColor(this, R.color.your_color_res));
             *
             * // Aspect ratio options
             * options.SetAspectRatioOptions(1,
             *   new AspectRatio("WOW", 1, 2),
             *   new AspectRatio("MUCH", 3, 4),
             *   new AspectRatio("RATIO", CropImageView.DefaultAspectRatio, CropImageView.DefaultAspectRatio),
             *   new AspectRatio("SO", 16, 9),
             *   new AspectRatio("ASPECT", 1, 1));
             *
             */

            return(uCrop.WithOptions(options));
        }