protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data) { try { base.OnActivityResult(requestCode, resultCode, data); //If its from Camera or Gallery if (requestCode == CropImage.CropImageActivityRequestCode) { CropImage.ActivityResult result = CropImage.GetActivityResult(data); if (resultCode == Result.Ok && result.IsSuccessful) { Uri resultUri = result.Uri; if (!string.IsNullOrEmpty(resultUri.Path)) { PathImage = resultUri.Path; File file2 = new File(resultUri.Path); var photoUri = FileProvider.GetUriForFile(this, PackageName + ".fileprovider", file2); Glide.With(this).Load(photoUri).Apply(new RequestOptions()).Into(PassportImage); } else { Toast.MakeText(this, GetText(Resource.String.Lbl_something_went_wrong), ToastLength.Short).Show(); } } } } catch (Exception exception) { Console.WriteLine(exception); } }
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data) { base.OnActivityResult(requestCode, resultCode, data); if (requestCode == 0) { if (resultCode == Result.Canceled) { Xamarin.Forms.MessagingCenter.Send(new ActivityResult { RequestCode = requestCode, ResultCode = resultCode, Data = data }, ActivityResult.key); } } else if (requestCode == 1) { Xamarin.Forms.MessagingCenter.Send(new ActivityResult { RequestCode = requestCode, ResultCode = resultCode, Data = data }, "success"); } else { if (resultCode != Result.Canceled) { CropImage.ActivityResult result = CropImage.GetActivityResult(data); ProductAddPageViewModel.Success?.Invoke(result.Uri.Path, result.OriginalUri.Path); } } }
private void resultCrop(Intent data) { CropImage.ActivityResult result = CropImage.GetActivityResult(data); Uri resultUri = result.Uri; Bitmap bm = decodeUriAsBitmap(resultUri); // Calculate the average color of the bitmap // this is the slow method, scale down the bitmap before then // Scale the bitmap down before calculating average color Bitmap smallBitmap = Bitmap.CreateScaledBitmap(bm, 100, 100, false); Color avgColorSmall = CalculateAverageColor(smallBitmap); // Send GrayScale values to the Data Set int gray = new int(); gray = Grayscale(avgColorSmall); ImageTuple.Add(gray); // Update area selection counter selectAreaCounterLbl.Text = "Number of crops: " + areaCounter.ToString(); // If first picture operate normally if (picCounter == 1) { // Update area selection counter //cropButton.Text = "Select Area (" + areaCounter + ")"; if (areaCounter == 3) { selectAreaImageView = FindViewById <ImageView>(Resource.Id.imageView1); selectAreaImageView.LayoutParameters.Height = 500; selectAreaImageView.LayoutParameters.Width = 350; labelButton = FindViewById <Button>(Resource.Id.labelButton); labelButton.Click += LabelData; labelButton.Visibility = Android.Views.ViewStates.Visible; labelButton.Enabled = true; } areaUpperLimit = areaCounter; } // For every subsequent picture restrict number of areas to select else if (picCounter > 0) { // Update area selection counter with upper limit selectAreaCounterLbl.Text = "Number of crops: " + areaCounter + " / " + areaUpperLimit; if (areaCounter == areaUpperLimit) { selectAreaImageView = FindViewById <ImageView>(Resource.Id.imageView1); selectAreaImageView.LayoutParameters.Height = 500; selectAreaImageView.LayoutParameters.Width = 350; labelButton = FindViewById <Button>(Resource.Id.labelButton); labelButton.Click += LabelData; labelButton.Visibility = Android.Views.ViewStates.Visible; labelButton.Enabled = true; cropButton.Enabled = false; } } }
public override void OnActivityResult(int requestCode, int resultCode, Intent data) { base.OnActivityResult(requestCode, resultCode, data); if (requestCode == CropImage.CropImageActivityRequestCode) { CropImage.ActivityResult result = CropImage.GetActivityResult(data); HandleCropResult(result); } }
public static async void OnActivityResult(int requestCode, Result resultCode, Intent data) { if (data == null) { ImageCropper.Current.indexCounter++; return; } else { if (requestCode == CropImage.CropImageActivityRequestCode) { string originalFileCreationDate = string.Empty; originalFileCreationDate = ImageCropper.Current. BeforeCroppingList[ImageCropper.Current. indexCounter].OriginalPictureDate; CropImage.ActivityResult result = CropImage.GetActivityResult(data); if (result != null) { ImageCropper.Current.CroppingResultList.Add(new ImageProperties() { ImagePath = result.Uri.Path, OriginalPictureDate = originalFileCreationDate }); ImageCropper.Current.indexCounter++; // small delay await System.Threading.Tasks.Task.Delay(TimeSpan.FromMilliseconds(100)); if (resultCode == Result.Ok) { if (ImageCropper.Current.indexCounter == ImageCropper.Current.BeforeCroppingList.Count) { ImageCropper.Current.Success?.Invoke(ImageCropper.Current.CroppingResultList); } } else if ((int)resultCode == (int)(CropImage.CropImageActivityResultErrorCode)) { ImageCropper.Current.Faiure?.Invoke(); } } else { ImageCropper.Current.Faiure?.Invoke(); return; } } } }
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data) { try { base.OnActivityResult(requestCode, resultCode, data); //If its from Camera or Gallary if (requestCode == CropImage.CropImageActivityRequestCode) { if (requestCode == 203 && resultCode == Result.Ok) { CropImage.ActivityResult result = CropImage.GetActivityResult(data); if (result.IsSuccessful) { Android.Net.Uri resultUri = result.Uri; if (!String.IsNullOrEmpty(resultUri.Path)) { Intent intent = new Intent(this, typeof(AddStory_Activity)); intent.PutExtra("Uri", resultUri.Path); intent.PutExtra("Type", "image"); StartActivity(intent); } else { Toast.MakeText(this, this.GetText(Resource.String.Lbl_Something_went_wrong), ToastLength.Long).Show(); } } } } else if (requestCode == 100 && resultCode == Result.Ok) { string FullPath = IMethods.MultiMedia.GetRealVideoPathFromURI(data.Data); if (!string.IsNullOrEmpty(FullPath)) { Intent intent = new Intent(this, typeof(AddStory_Activity)); intent.PutExtra("Uri", FullPath); intent.PutExtra("Type", "video"); StartActivity(intent); } else { Toast.MakeText(this, this.GetText(Resource.String.Lbl_Something_went_wrong), ToastLength.Long).Show(); } } } catch (Exception e) { Console.WriteLine(e); } }
public static void OnActivityResult(int requestCode, Result resultCode, Intent data) { if (requestCode == CropImage.CropImageActivityRequestCode) { CropImage.ActivityResult result = CropImage.GetActivityResult(data); if (resultCode == Result.Ok) { ImageCropper.Current.Success?.Invoke(result.Uri.Path); } else if ((int)resultCode == (int)(CropImage.CropImageActivityResultErrorCode)) { ImageCropper.Current.Faiure?.Invoke(); } } }
protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data) { // handle result of CropImageActivity if (requestCode == CropImage.CropImageActivityRequestCode) { CropImage.ActivityResult result = CropImage.GetActivityResult(data); if (resultCode == Result.Ok) { ((ImageView)FindViewById(Resource.Id.quick_start_cropped_image)).SetImageURI(result.Uri); Toast.MakeText(this, "Cropping successful, Sample: " + result.SampleSize, ToastLength.Long).Show(); } else if (result != null) { Toast.MakeText(this, "Cropping failed: " + result.Error, ToastLength.Long).Show(); } } }
private void resultCrop(Intent data) { CropImage.ActivityResult result = CropImage.GetActivityResult(data); Uri resultUri = result.Uri; Bitmap bm = decodeUriAsBitmap(resultUri); // Calculate the average color of the bitmap // this is the slow method, scale down the bitmap before then // Scale the bitmap down before calculating average color Bitmap smallBitmap = Bitmap.CreateScaledBitmap(bm, 100, 100, false); Color avgColorSmall = CalculateAverageColor(smallBitmap); // Calculate the average color of the bitmap //Android.Graphics.Color avgColor = CalculateAverageColor(bm); //Add to the data structure int gray = new int(); gray = Grayscale(avgColorSmall); ImageTuple.Add(gray); // Update area selection counter selectAreaCounterLbl.Text = "Number of crops: " + areaCounter.ToString() + " / " + areaLimit.ToString(); // User must select at least 3 areas from the picture if (areaCounter == areaLimit) { selectAreaImageView = FindViewById <ImageView>(Resource.Id.imageView1); selectAreaImageView.LayoutParameters.Height = 500; selectAreaImageView.LayoutParameters.Width = 350; //Finished(null, null); results(); //cropButton.Text = "Finished"; //cropButton.Click -= CropPic; //cropButton.Click += Finished; //cropButton.Enabled = true; } }
public static async void OnActivityResult(int requestCode, Result resultCode, Intent data) { if (requestCode == CropImage.CropImageActivityRequestCode) { CropImage.ActivityResult result = CropImage.GetActivityResult(data); // small delay //await Task.Delay(TimeSpan.FromMilliseconds(100)); if (resultCode == Result.Ok) { ImageCropper.Current.Success?.Invoke(result.Uri.Path); } else if (resultCode == (Result)CropImage.CropImageActivityResultErrorCode) { ImageCropper.Current.Failure?.Invoke(); } } }
public static async void OnActivityResult(int requestCode, Result resultCode, Intent data) { if (requestCode == CropImage.CropImageActivityRequestCode) { CropImage.ActivityResult result = CropImage.GetActivityResult(data); // small delay await System.Threading.Tasks.Task.Delay(TimeSpan.FromMilliseconds(100)); if (resultCode == Result.Ok) { ImageCropper.Current.Success?.Invoke(result.GetUriFilePath(Xamarin.Essentials.Platform.AppContext, false)); } else if ((int)resultCode == (int)(CropImage.CropImageActivityResultErrorCode)) { ImageCropper.Current.Faiure?.Invoke(); } } }
/// <summary> /// Called when [OnActivityResult] /// </summary> /// <param name="requestCode">The request code.</param> /// <param name="resultCode">The result code.</param> /// <param name="data">Intent data.</param> protected override void OnActivityResult(int requestCode, Result resultCode, Intent data) { if (requestCode == CropImage.CropImageActivityRequestCode) { CropImage.ActivityResult result = CropImage.GetActivityResult(data); if (resultCode == Result.Ok) { Uri resultUri = result.Uri; ImageView view = this.FindViewById <ImageView>(Resource.Id.ImageView_image); view.SetImageURI(resultUri); } else if (resultCode == (Result)CropImage.CropImageActivityResultErrorCode) { // To Do, show something about the error. Exception error = result.Error; Toast.MakeText(this, error.Message, ToastLength.Long).Show(); } } base.OnActivityResult(requestCode, resultCode, data); }
protected override void OnActivityResult(int requestCode, Result resultCode, Intent intent) { base.OnActivityResult(requestCode, resultCode, intent); if (requestCode == PickImageId) { if ((resultCode == Result.Ok) && (intent != null)) { Android.Net.Uri uri = intent.Data; Stream stream = ContentResolver.OpenInputStream(uri); // Set the Stream as the completion of the Task PickImageTaskCompletionSource.SetResult(stream); } else { PickImageTaskCompletionSource.SetResult(null); } } if (requestCode == CropImage.CropImageActivityRequestCode) { CropImage.ActivityResult result = CropImage.GetActivityResult(intent); if (resultCode == Result.Ok) { ImageCropper.Current.Success?.Invoke(result.Uri.Path); } else if ((int)resultCode == (int)CropImage.CropImageActivityResultErrorCode) { ImageCropper.Current.Faiure?.Invoke(); } } else { base.OnActivityResult(requestCode, resultCode, intent); } }
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data) { try { base.OnActivityResult(requestCode, resultCode, data); switch (requestCode) { //If its from Camera or Gallery case CropImage.CropImageActivityRequestCode: { CropImage.ActivityResult result = CropImage.GetActivityResult(data); switch (resultCode) { case Result.Ok when result.IsSuccessful: { Uri resultUri = result.Uri; switch (string.IsNullOrEmpty(resultUri.Path)) { case false: switch (TypeImage) { case "YourImage": { PathYourImage = resultUri.Path; File file2 = new File(resultUri.Path); var photoUri = FileProvider.GetUriForFile(this, PackageName + ".fileprovider", file2); Glide.With(this).Load(photoUri).Apply(new RequestOptions()).Into(YourImage); break; } case "Passport": { PathPassportImage = resultUri.Path; File file2 = new File(resultUri.Path); var photoUri = FileProvider.GetUriForFile(this, PackageName + ".fileprovider", file2); Glide.With(this).Load(photoUri).Apply(new RequestOptions()).Into(PassportImage); break; } } break; default: Toast.MakeText(this, GetText(Resource.String.Lbl_something_went_wrong), ToastLength.Short)?.Show(); break; } break; } } break; } } } catch (Exception exception) { Methods.DisplayReportResultTrack(exception); } }