private void HandleImagePick(UIImage image, int maxPixelDimension, int percentQuality, Action<Stream> pictureAvailable, Action assumeCancelled) { if (image != null) { // resize the image image = image.ImageToFitSize (new SizeF (maxPixelDimension, maxPixelDimension)); using (NSData data = image.AsJPEG ((float)((float)percentQuality/100.0))) { var byteArray = new byte [data.Length]; Marshal.Copy (data.Bytes, byteArray, 0, Convert.ToInt32 (data.Length)); var imageStream = new MemoryStream (); imageStream.Write (byteArray, 0, Convert.ToInt32 (data.Length)); imageStream.Seek (0, SeekOrigin.Begin); pictureAvailable (imageStream); } } else { assumeCancelled (); } _picker.DismissModalViewControllerAnimated(true); _presenter.NativeModalViewControllerDisappearedOnItsOwn(); }
private void HandleImagePick(UIImagePickerController picker, 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, () => { }); }
private void HandleImagePick(UIImage image, int maxPixelDimension, int percentQuality, Action <Stream> pictureAvailable, Action assumeCancelled) { if (image != null) { // resize the image image = image.ImageToFitSize(new SizeF(maxPixelDimension, maxPixelDimension)); using (NSData data = image.AsJPEG((float)((float)percentQuality / 100.0))) { var byteArray = new byte [data.Length]; Marshal.Copy(data.Bytes, byteArray, 0, Convert.ToInt32(data.Length)); var imageStream = new MemoryStream(); imageStream.Write(byteArray, 0, Convert.ToInt32(data.Length)); imageStream.Seek(0, SeekOrigin.Begin); pictureAvailable(imageStream); } } else { assumeCancelled(); } _picker.DismissModalViewControllerAnimated(true); _presenter.NativeModalViewControllerDisappearedOnItsOwn(); }
private void HandleImagePick(UIImage image) { ClearCurrentlyActive(); if (image != null) { if (_maxPixelDimension > 0 && (image.Size.Height > _maxPixelDimension || image.Size.Width > _maxPixelDimension)) { // resize the image image = image.ImageToFitSize(new SizeF(_maxPixelDimension, _maxPixelDimension)); } using (NSData data = image.AsJPEG((float)(_percentQuality / 100.0))) { var byteArray = new byte[data.Length]; Marshal.Copy(data.Bytes, byteArray, 0, Convert.ToInt32(data.Length)); var imageStream = new MemoryStream(byteArray, false); if (_pictureAvailable != null) { _pictureAvailable(imageStream); } } } else { if (_assumeCancelled != null) { _assumeCancelled(); } } _picker.DismissViewController(true, () => { }); _modalHost.NativeModalViewControllerDisappearedOnItsOwn(); }
private void HandleImagePick(UIImage image) { ClearCurrentlyActive(); if (image != null) { if (_maxPixelDimension > 0 &&(image.Size.Height > _maxPixelDimension || image.Size.Width > _maxPixelDimension)) { // resize the image image = image.ImageToFitSize(new SizeF(_maxPixelDimension, _maxPixelDimension)); } using (NSData data = image.AsJPEG((float)(_percentQuality / 100.0))) { var byteArray = new byte[data.Length]; Marshal.Copy(data.Bytes, byteArray, 0, Convert.ToInt32(data.Length)); var imageStream = new MemoryStream(byteArray, false); if (_pictureAvailable != null) _pictureAvailable(imageStream); } } else { if (_assumeCancelled != null) _assumeCancelled(); } _picker.DismissViewController(true, () => { }); _modalHost.NativeModalViewControllerDisappearedOnItsOwn(); }