public async void Share(string imageUrl) { var intent = new Intent(Intent.ActionSend); intent.SetType("image/png"); // Get the URI of the image var imageUri = new Uri(imageUrl); var imageSource = ImageSource.FromUri(imageUri); var handler = new ImageLoaderSourceHandler(); var context = Xamarin.Forms.Forms.Context; var bitmap = await handler.LoadImageAsync(imageSource, context); // Get the file name var filename = System.IO.Path.GetFileName(imageUrl); var path = Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryDownloads + Java.IO.File.Separator + filename); using (var os = new System.IO.FileStream(path.AbsolutePath, System.IO.FileMode.Create)) { bitmap.Compress(Bitmap.CompressFormat.Png, 100, os); } intent.PutExtra(Intent.ExtraStream, Android.Net.Uri.FromFile(path)); var intentChooser = Intent.CreateChooser(intent, "Share via"); context.StartActivity(intentChooser); }
private async Task <Bitmap> GetImageFromImageSource(ImageSource imageSource, Context context) { IImageSourceHandler handler; if (imageSource is FileImageSource) { handler = new FileImageSourceHandler(); } else if (imageSource is StreamImageSource) { handler = new StreamImagesourceHandler(); // sic } else if (imageSource is UriImageSource) { handler = new ImageLoaderSourceHandler(); // sic } else { throw new NotImplementedException(); } var originalBitmap = await handler.LoadImageAsync(imageSource, context); // Blur it twice! var blurredBitmap = await Task.Run(() => CreateBlurredImage(CreateResizedImage(originalBitmap), 25)); return(blurredBitmap); }
private async Task <Bitmap> GetImageFromImageSource(ImageSource imageSource, Context context) { try { IImageSourceHandler handler; if (imageSource is FileImageSource) { handler = new FileImageSourceHandler(); } else if (imageSource is StreamImageSource) { handler = new StreamImagesourceHandler(); // sic } else if (imageSource is UriImageSource) { handler = new ImageLoaderSourceHandler(); // sic } else { throw new NotImplementedException(); } return(await handler.LoadImageAsync(imageSource, context)); } catch (Java.Lang.Exception e) { e.PrintStackTrace(); return(null); } }
public static async Task <Bitmap> GetBitmapAsync(ImageSource imageSource, Context context) { Bitmap result = null; IImageSourceHandler handler = null; if (imageSource is FileImageSource fileImageSource) { if (fileImageSource.File != null) { handler = new FileImageSourceHandler(); } } else if (imageSource is UriImageSource uriImageSource) { if (uriImageSource.Uri != null) { handler = new ImageLoaderSourceHandler(); } } else if (imageSource is StreamImageSource) { handler = new StreamImagesourceHandler(); } if (handler != null) { result = await handler.LoadImageAsync(imageSource, context); } return(result); }
private UIImage GetImageFromImageSourceAsync(ImageSource imageSource) { IImageSourceHandler handler = null; if (imageSource is FileImageSource) { handler = new FileImageSourceHandler(); } else if (imageSource is StreamImageSource) { handler = new StreamImagesourceHandler(); // sic } else if (imageSource is UriImageSource) { handler = new ImageLoaderSourceHandler(); // sic } else { throw new NotImplementedException(); } var image = Task.Run <UIImage>(() => handler.LoadImageAsync(imageSource)).Result; return(image); }
/// <summary> /// Returns a bitmap from the image source /// </summary> /// <param name="imageSource">The ImageSource for the image</param> /// <param name="context">The context</param> /// <returns>A bitmap</returns> private Bitmap GetImageFromImageSourceAsync(ImageSource imageSource, Context context) { IImageSourceHandler handler; if (imageSource is FileImageSource) { handler = new FileImageSourceHandler(); } else if (imageSource is StreamImageSource) { handler = new StreamImagesourceHandler(); } else if (imageSource is UriImageSource) { handler = new ImageLoaderSourceHandler(); } else { //Any other kind of source handler which has been added to android or are not supported will throw this exception throw new NotImplementedException(); } var bitmap = Task.Run <Bitmap>(() => handler.LoadImageAsync(imageSource, context)).Result; return(bitmap); }
private void setupImage(ImageSource source, UIImageView target) { IImageSourceHandler handler = null; if (source is UriImageSource) { handler = new ImageLoaderSourceHandler(); } else if (source is FileImageSource) { handler = new FileImageSourceHandler(); } else if (source is StreamImageSource) { handler = new StreamImagesourceHandler(); } if (handler != null) { UIImage image = target.Image; if (image != null) { using (var context = CIContext.Create()) using (var inputImage = CIImage.FromCGImage(image.CGImage)) using (var filter = new CIGaussianBlur() { Image = inputImage, Radius = 15 }) using (var resultImage = context.CreateCGImage(filter.OutputImage, inputImage.Extent)) target.Image = new UIImage(resultImage); } } }
// Returns Task<UIImage> public async Task <object> ConvertToNative(ImageSource imageSource, object context, CancellationToken cancellationToken) { if (imageSource == null) { return(null); } IImageSourceHandler handler = null; if (imageSource.GetType() == typeof(FileImageSource)) { handler = new FileImageSourceHandler(); } else if (imageSource.GetType() == typeof(StreamImageSource)) { handler = new StreamImageSourceHandler(); // lowercase 'source' to use original } else if (imageSource.GetType() == typeof(UriImageSource)) { handler = new ImageLoaderSourceHandler(); } if (handler == null) { return(null); } UIImage image = await handler.LoadImageAsync(imageSource, cancellationToken); return(image); }
/// <summary> /// Returns the proper <see cref="IImageSourceHandler"/> based on the type of <see cref="ImageSource"/> provided. /// </summary> /// <param name="source">The <see cref="ImageSource"/> to get the handler for.</param> /// <returns>The needed handler.</returns> private static IImageSourceHandler GetHandler(ImageSource source) { IImageSourceHandler returnValue = null; if (source is UriImageSource) { #if WINDOWS_UWP || WINDOWS_APP || WINDOWS_PHONE_APP returnValue = new UriImageSourceHandler(); #else returnValue = new ImageLoaderSourceHandler(); #endif } else if (source is FileImageSource) { returnValue = new FileImageSourceHandler(); } else if (source is StreamImageSource) { #if WINDOWS_UWP || WINDOWS_APP || WINDOWS_PHONE_APP returnValue = new StreamImageSourceHandler(); #else returnValue = new StreamImagesourceHandler(); #endif } return(returnValue); }
public async Task <Bitmap> GetBitmapFromImageSourceAsync(ImageSource source, Context context) { IImageSourceHandler handler; if (source is FileImageSource) { handler = new FileImageSourceHandler(); } else if (source is StreamImageSource) { handler = new StreamImagesourceHandler(); // sic } else if (source is UriImageSource) { handler = new ImageLoaderSourceHandler(); // sic } else { throw new NotImplementedException(); } var returnValue = (Bitmap)null; returnValue = await handler.LoadImageAsync(source, context); return(returnValue); }
async public static void Share(ImageSource imageSource) { try { var handler = new ImageLoaderSourceHandler(); var uiImage = await handler.LoadImageAsync(imageSource); var item = NSObject.FromObject(uiImage); var item1 = NSObject.FromObject("Fantastic Bike from Bikspot."); var activityItems = new[] { item, item1 }; var activityController = new UIActivityViewController(activityItems, null); var topController = UIApplication.SharedApplication.KeyWindow.RootViewController; while (topController.PresentedViewController != null) { topController = topController.PresentedViewController; } if (UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Pad) { activityController.PopoverPresentationController.SourceView = topController.View; activityController.PopoverPresentationController.SourceRect = new CoreGraphics.CGRect((topController.View.Bounds.Width / 2), (topController.View.Bounds.Height / 4), 0, 0); } topController.PresentViewController(activityController, true, () => { }); //topController.PopoverPresentationController(activityController, true, () => { }); } catch (Exception ex) { } }
// Returns Task<UIImage> public async Task <object> ConvertToNative(ImageSource imageSource, object context, CancellationToken cancellationToken) { if (imageSource == null) { return(null); } IImageSourceHandler handler = null; if (imageSource.GetType() == typeof(FileImageSource)) { handler = new FileImageSourceHandler(); } else if (imageSource.GetType() == typeof(StreamImageSource)) { handler = new StreamImagesourceHandler(); } else if (imageSource.GetType() == typeof(UriImageSource)) { handler = new ImageLoaderSourceHandler(); } if (handler == null) { return(null); } // TODO: The context field is null at this pint, but the Bitmap still seems to be created. Bitmap bitmap = await handler.LoadImageAsync(imageSource, context as Context, cancellationToken); return(bitmap); }
private async Task <Bitmap> GetImageFromImageSource(ImageSource imageSource, Context context) { IImageSourceHandler handler; if (imageSource is FileImageSource) { handler = new FileImageSourceHandler(); } else if (imageSource is StreamImageSource) { handler = new StreamImagesourceHandler(); } else if (imageSource is UriImageSource) { handler = new ImageLoaderSourceHandler(); } else { throw new NotImplementedException(); } var originalBitmap = await handler.LoadImageAsync(imageSource, context); return(originalBitmap); }
public async void Share(string subject, string message, ImageSource image) { //await CheckAppPermissions(); try { var intent = new Intent(Intent.ActionSend); //intent.PutExtra(Intent.ExtraSubject, subject); intent.PutExtra(Intent.ExtraText, message); intent.SetType("image/png"); var handler = new ImageLoaderSourceHandler(); var bitmap = await handler.LoadImageAsync(image, this); /* * var path = Environment.GetExternalStoragePublicDirectory(Environment.DirectoryDownloads + Java.IO.File.Separator + "logo.png"); * * using (var os = new System.IO.FileStream(path.AbsolutePath, System.IO.FileMode.Create)) * { * bitmap.Compress(Bitmap.CompressFormat.Png, 100, os); * } * intent.PutExtra(Intent.ExtraStream, Android.Net.Uri.FromFile(path)); * Forms.Context.StartActivity(Intent.CreateChooser(intent, "Share Image")); * */ /* * string documentPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData); * string folderName = "CurrentApp"; * var folderPath = System.IO.Path.Combine(documentPath, folderName); * System.IO.Directory.CreateDirectory(folderPath); * string fName = "Download.pdf"; * var localPath = System.IO.Path.Combine(folderPath, fName); * using (var os = new System.IO.FileStream(localPath, System.IO.FileMode.Create)) * { * bitmap.Compress(Bitmap.CompressFormat.Png, 100, os); * } * intent.PutExtra(Intent.ExtraStream, Android.Net.Uri.FromFile((Java.IO.File)localPath)); * Forms.Context.StartActivity(Intent.CreateChooser(intent, "Share Image")); */ //var path = Environment.GetExternalStoragePublicDirectory(Environment.DirectoryDownloads + Java.IO.File.Separator + "logo.png"); var path = Environment.GetExternalStoragePublicDirectory(Environment.DirectoryDownloads + Java.IO.File.Separator + "logo.png" + System.DateTime.Now.Ticks.ToString()); using (var os = new System.IO.FileStream(path.AbsolutePath, System.IO.FileMode.Create)) { bitmap.Compress(Bitmap.CompressFormat.Png, 100, os); } intent.PutExtra(Intent.ExtraStream, Android.Net.Uri.FromFile(path)); Forms.Context.StartActivity(Intent.CreateChooser(intent, "Share Image")); } catch (System.Exception ex) { PrintLog.PublishLog(ex); } }
public static IImageSourceHandler GetHandler(this ImageSource source) { IImageSourceHandler returnValue = null; if (source is UriImageSource) returnValue = new ImageLoaderSourceHandler(); else if (source is FileImageSource) returnValue = new FileImageSourceHandler(); else if (source is StreamImageSource) returnValue = new StreamImagesourceHandler(); return returnValue; }
/// <summary> /// Returns the proper <see cref="T:Xamarin.Forms.Platform.iOS.IImageSourceHandler"/> /// based on the type of <see cref="T:Xamarin.Forms.ImageSource"/> provided. /// </summary> /// <param name="source">The <see cref="T:Xamarin.Forms.ImageSource"/> to get the handler for.</param> /// <returns> /// The needed handler. /// </returns> private static IImageSourceHandler GetHandler(ImageSource source) { var imageSourceHandler = (IImageSourceHandler)null; if(source is UriImageSource) imageSourceHandler = new ImageLoaderSourceHandler(); else if(source is FileImageSource) imageSourceHandler = new FileImageSourceHandler(); else if(source is StreamImageSource) imageSourceHandler = new StreamImagesourceHandler(); return imageSourceHandler; }
/// <summary> /// Returns the proper <see cref="IImageSourceHandler"/> based on the type of <see cref="ImageSource"/> provided. /// </summary> /// <param name="source">The <see cref="ImageSource"/> to get the handler for.</param> /// <returns>The needed handler.</returns> private static IImageSourceHandler GetHandler(ImageSource source) { IImageSourceHandler returnValue = null; if (source is UriImageSource) { returnValue = new ImageLoaderSourceHandler (); } else if (source is FileImageSource) { returnValue = new FileImageSourceHandler (); } else if (source is StreamImageSource) { returnValue = new StreamImagesourceHandler (); } return returnValue; }
private async Task SetImageAsync(ImageSource source, int widthRequest, int heightRequest, UIButton targetButton, UIControlState state = UIControlState.Normal) { IImageSourceHandler handler = null; if (source is UriImageSource) { handler = new ImageLoaderSourceHandler(); } else if (source is FileImageSource) { handler = new FileImageSourceHandler(); } else if (source is StreamImageSource) { handler = new StreamImagesourceHandler(); } if (handler != null) { using (UIImage image = await handler.LoadImageAsync(source, default(System.Threading.CancellationToken), (float)UIScreen.MainScreen.Scale)) { if (image != null) { UIImage scaled = image; if ((heightRequest > 0) && (widthRequest > 0) && ((image.Size.Height != heightRequest) || (image.Size.Width != widthRequest))) { scaled = scaled.Scale(new CGSize(widthRequest, heightRequest), UIScreen.MainScreen.Scale); } if (ImageButton.SupportCheckedState && !ImageButton.Checked) { UIGraphics.BeginImageContextWithOptions(scaled.Size, false, scaled.CurrentScale); var context = UIGraphics.GetCurrentContext(); var area = new CGRect(0, 0, scaled.Size.Width, scaled.Size.Height); context.ScaleCTM(1.0f, -1.0f); context.TranslateCTM(0, -scaled.Size.Height); context.SetBlendMode(CGBlendMode.Multiply); context.SetAlpha((nfloat)ImageButton.UncheckedAlpha); context.DrawImage(area, scaled.CGImage); var newImage = UIGraphics.GetImageFromCurrentImageContext(); targetButton.SetImage(newImage.ImageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal), state); } else { targetButton.SetImage(scaled.ImageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal), state); } } } } }
public async void Share(string subject, string message, string imagebase64) { try { var intent = new Intent(Intent.ActionSend); //intent.PutExtra(Intent.ExtraSubject, subject); intent.PutExtra(Intent.ExtraText, message); intent.SetType("image/*"); var handler = new ImageLoaderSourceHandler(); //var bitmap = await handler.LoadImageAsync(image, this); Bitmap bmpReturn = null; byte[] byteBuffer = Convert.FromBase64String(imagebase64); //bmpReturn = (Bitmap)Bitmap.FromArray(byteBuffer); Bitmap bitmapq = BitmapFactory.DecodeByteArray(byteBuffer, 0, byteBuffer.Length); byteBuffer = null; var bitmap = bitmapq; var path = Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryDownloads + Java.IO.File.Separator + "logo.jpg"); using (var os = new System.IO.FileStream(path.AbsolutePath, System.IO.FileMode.Create)) { bitmap.Compress(Bitmap.CompressFormat.Png, 100, os); } intent.PutExtra(Intent.ExtraStream, Android.Net.Uri.FromFile(path)); //Forms.Context.StartActivity(Intent.CreateChooser(intent, "Share Image")); var chooserIntent = Intent.CreateChooser(intent, "Share Image"); chooserIntent.SetFlags(ActivityFlags.ClearTop); chooserIntent.SetFlags(ActivityFlags.NewTask); _context.StartActivity(chooserIntent); //return Task.FromResult(true); } catch (System.Exception ex) { // throw; } }
public async void Share(ImageSource imageSource) { try { var intent = new Intent(Intent.ActionSend); intent.SetType("image/jpeg"); IImageSourceHandler handler; if (imageSource is FileImageSource) { handler = new FileImageSourceHandler(); } else if (imageSource is StreamImageSource) { handler = new StreamImagesourceHandler(); // sic } else if (imageSource is UriImageSource) { handler = new ImageLoaderSourceHandler(); // sic } else { throw new NotImplementedException(); } var bitmap = await handler.LoadImageAsync(imageSource, Android.App.Application.Context); Java.IO.File path = Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryPictures + Java.IO.File.Separator + "MyImage.jpg"); using (System.IO.FileStream os = new System.IO.FileStream(path.AbsolutePath, System.IO.FileMode.Create)) { bitmap.Compress(Bitmap.CompressFormat.Jpeg, 100, os); } intent.AddFlags(ActivityFlags.GrantReadUriPermission); intent.AddFlags(ActivityFlags.GrantWriteUriPermission); intent.PutExtra(Intent.ExtraStream, FileProvider.GetUriForFile(Android.App.Application.Context, "com.orem.fcCustomer.fileprovider", path)); Android.App.Application.Context.StartActivity(Intent.CreateChooser(intent, "Share Image")); } catch (Exception ex) { } }
private async void SetSource(System.Windows.Controls.Image image) { IImageSourceHandler handler; var source = (this.Element as BlurImageView).Source; if (source == null) { return; } if (source is FileImageSource) { handler = new FileImageSourceHandler(); } else if (source is StreamImageSource) { handler = new StreamImagesourceHandler(); // sic } else if (source is UriImageSource) { handler = new ImageLoaderSourceHandler(); // sic } else { throw new NotImplementedException(); } System.Windows.Media.ImageSource imagesource; try { imagesource = await handler.LoadImageAsync(source, new CancellationToken()); } catch (TaskCanceledException) { imagesource = (System.Windows.Media.ImageSource)null; } // Blur if (imagesource is BitmapImage) { var bmpImage = imagesource as BitmapImage; var wr = new WriteableBitmap(bmpImage); BoxBlurHorizontal(wr, 40); BoxBlurVertical(wr, 40); image.Source = wr; } }
internal static IImageSourceHandler GetHandler (this ImageSource source) { IImageSourceHandler returnValue = null; if (source is UriImageSource) { returnValue = new ImageLoaderSourceHandler(); } else if (source is FileImageSource) { returnValue = new FileImageSourceHandler(); } else if (source is StreamImageSource) { returnValue = new StreamImagesourceHandler(); } return returnValue; }
async void Share (ImageSource imageSource) { var handler = new ImageLoaderSourceHandler(); var uiImage = await handler.LoadImageAsync(imageSource); var item = NSObject.FromObject (uiImage); var activityItems = new[] { item }; var activityController = new UIActivityViewController (activityItems, null); var topController = UIApplication.SharedApplication.KeyWindow.RootViewController; while (topController.PresentedViewController != null) { topController = topController.PresentedViewController; } topController.PresentViewController (activityController, true, () => {}); }
private async Task <Bitmap> GetImageFromImageSource(ImageSource imageSource, Context context) { try { IImageSourceHandler handler; if (imageSource is FileImageSource) { handler = new FileImageSourceHandler(); } else if (imageSource is StreamImageSource) { handler = new StreamImagesourceHandler(); } else if (imageSource is UriImageSource) { handler = new ImageLoaderSourceHandler(); } else { return(null); } var originalBitmap = await handler.LoadImageAsync(imageSource, context); if (originalBitmap != null) { var b = CreateResizedImage(originalBitmap); var blurredBitmap = await Task.Run(() => CreateBlurredImage(b, 25)); originalBitmap.Dispose(); b.Dispose(); return(blurredBitmap); } else { return(null); } } catch { return(null); } }
public void ShareImage(string subject, string filename, byte[] data) { var handler = new ImageLoaderSourceHandler(); var uiImage = CopyTo(data); var img = FromObject(uiImage); var mess = FromObject(subject); try { var activityItems = new[] { img }; ShareAction(activityItems); } catch (Exception) { var activityItems = new[] { img }; ShareAction(activityItems); } }
private IImageSourceHandler GetHandler(Xamarin.Forms.ImageSource imageSource) { IImageSourceHandler returnValue = null; if (imageSource is Xamarin.Forms.UriImageSource) { returnValue = new ImageLoaderSourceHandler(); } else if (imageSource is Xamarin.Forms.FileImageSource) { returnValue = new FileImageSourceHandler(); } else if (imageSource is Xamarin.Forms.StreamImageSource) { returnValue = new StreamImagesourceHandler(); } return(returnValue); }
public static Task <UIImage> ToUIImage(this ImageSource imageSource) { IImageSourceHandler handler = null; if (imageSource is UriImageSource) { handler = new ImageLoaderSourceHandler(); } else if (imageSource is FileImageSource) { handler = new FileImageSourceHandler(); } else if (imageSource is StreamImageSource) { handler = new StreamImagesourceHandler(); } return(handler.LoadImageAsync(imageSource)); }
/// <summary> /// Helper method to initialize the respective <see cref="IImageSourceHandler"/> to native <see cref="ImageView"/> using <see cref="SfImage.Source"/> property. /// </summary> /// <param name="source">Represents the <see cref="ImageSource"/>.</param> /// <returns>Returns the <see cref="IImageSourceHandler"/> based on <see cref="ImageSource"/>.</returns> private IImageSourceHandler GetHandler(ImageSource source) { IImageSourceHandler sourcehandler = null; if (source is UriImageSource) { sourcehandler = new ImageLoaderSourceHandler(); } else if (source is FileImageSource) { sourcehandler = new FileImageSourceHandler(); } else if (source is StreamImageSource) { sourcehandler = new StreamImagesourceHandler(); } return(sourcehandler); }
public async void Share(string subject, string message, ImageSource image) { var handler = new ImageLoaderSourceHandler(); var uiImage = await handler.LoadImageAsync(image); var img = NSObject.FromObject(uiImage); var mess = NSObject.FromObject(message); var activityItems = new[] { mess, img }; var activityController = new UIActivityViewController(activityItems, null); var topController = UIApplication.SharedApplication.KeyWindow.RootViewController; while (topController.PresentedViewController != null) { topController = topController.PresentedViewController; } topController.PresentViewController(activityController, true, () => { }); }
public async Task Share(string subject, string message, byte[] image) { var handler = new ImageLoaderSourceHandler(); var data = NSData.FromArray(image); var uiimage = UIImage.LoadFromData(data); var img = NSObject.FromObject(uiimage); var mess = NSObject.FromObject(message); var activityItems = new[] { mess, img }; var activityController = new UIActivityViewController(activityItems, null); var topController = UIApplication.SharedApplication.KeyWindow.RootViewController; while (topController.PresentedViewController != null) { topController = topController.PresentedViewController; } topController.PresentViewController(activityController, true, () => { }); }
/// <summary> /// Returns the proper <see cref="IImageSourceHandler"/> based on the type of <see cref="ImageSource"/> provided. /// </summary> /// <param name="source">The <see cref="ImageSource"/> to get the handler for.</param> /// <returns>The needed handler.</returns> private static IImageSourceHandler GetHandler(ImageSource source) { IImageSourceHandler returnValue = null; if (source is UriImageSource) { returnValue = new ImageLoaderSourceHandler(); } else if (source is FileImageSource) { returnValue = new FileImageSourceHandler(); } else if (source is StreamImageSource) { returnValue = new StreamImagesourceHandler(); } return(returnValue); }
private static Task <UIImage> GetImageFromImageSourceAsync(ImageSource imageSource) { IImageSourceHandler handler = null; if (imageSource is FileImageSource) { handler = new FileImageSourceHandler(); } else if (imageSource is StreamImageSource) { handler = new StreamImagesourceHandler(); } else if (imageSource is UriImageSource) { handler = new ImageLoaderSourceHandler(); } return(handler?.LoadImageAsync(imageSource)); }
private Task <Bitmap> GetImageFromImageSourceAsync(ImageSource imageSource) { IImageSourceHandler handler = null; if (imageSource is FileImageSource) { handler = new FileImageSourceHandler(); } else if (imageSource is StreamImageSource) { handler = new StreamImagesourceHandler(); } else if (imageSource is UriImageSource) { handler = new ImageLoaderSourceHandler(); } return(handler?.LoadImageAsync(imageSource, _context)); }
public static IImageSourceHandler GetHandler (this ImageSource source) { //Image source handler to return IImageSourceHandler returnValue = null; //check the specific source type and return the correct image source handler if (source is UriImageSource) { returnValue = new ImageLoaderSourceHandler(); } else if (source is FileImageSource) { returnValue = new FileImageSourceHandler(); } else if (source is StreamImageSource) { returnValue = new StreamImagesourceHandler(); } return returnValue; }