private void HandleImagePick(UIImage image, string name) { ClearCurrentlyActive(); if (image != null) { if (_maxPixelDimension > 0 && (image.Size.Height > _maxPixelDimension || image.Size.Width > _maxPixelDimension)) { // resize the image image = image.ImageToFitSize(new CGSize(_maxPixelDimension, _maxPixelDimension)); } using (NSData data = image.AsJPEG(_percentQuality / 100f)) { var byteArray = new byte[data.Length]; Marshal.Copy(data.Bytes, byteArray, 0, Convert.ToInt32(data.Length)); var imageStream = new MemoryStream(byteArray, false); _pictureAvailable?.Invoke(imageStream, name); } } else { _assumeCancelled?.Invoke(); } _picker.DismissViewController(true, () => { }); _modalHost.NativeModalViewControllerDisappearedOnItsOwn(); }