public async Task <bool> SaveImage(string directory, string filename, ImageSource img) { System.IO.Stream outputStream = null; var renderer = new Xamarin.Forms.Platform.Android.StreamImagesourceHandler(); Bitmap photo = await renderer.LoadImageAsync(img, Forms.Context); var savedImageFilename = System.IO.Path.Combine(directory, filename); System.IO.Directory.CreateDirectory(directory); bool success = false; using (outputStream = new System.IO.FileStream(savedImageFilename, System.IO.FileMode.Create)) { if (System.IO.Path.GetExtension(filename).ToLower() == ".png") { success = await photo.CompressAsync(Bitmap.CompressFormat.Png, 100, outputStream); } else { success = await photo.CompressAsync(Bitmap.CompressFormat.Jpeg, 100, outputStream); } } return(success); }
public async Task <bool> SaveImage(string directory, string filename, ImageSource img) { var image = new Image(); image.Source = img; var renderer = new Xamarin.Forms.Platform.Android.StreamImagesourceHandler(); Bitmap photo = await renderer.LoadImageAsync(img, Android.App.Application.Context); var documentsPath = Android.App.Application.Context.GetExternalFilesDir(null).AbsolutePath; var filePath = System.IO.Path.Combine(documentsPath, filename); bool success; using (FileStream outputStream = new FileStream(filePath, FileMode.Create)) { success = await photo.CompressAsync(Bitmap.CompressFormat.Png, 100, outputStream); } return(success); }
public async Task <bool> SaveImage(string v, string filename) { try { if (System.IO.Path.GetExtension(filename).ToLower() != ".png") { filename += ".png"; } MainActivity.Insatance.CheckStoragePermissions(); var directory = "/storage/emulated/0/SSH"; System.IO.Stream outputStream = null; var renderer = new Xamarin.Forms.Platform.Android.StreamImagesourceHandler(); Bitmap photo = await renderer.LoadImageAsync(GetImage(v), MainActivity.Insatance); var savedImageFilename = System.IO.Path.Combine(directory, filename); System.IO.Directory.CreateDirectory(directory); bool success = false; using (outputStream = new System.IO.FileStream(savedImageFilename, System.IO.FileMode.Create)) { if (System.IO.Path.GetExtension(filename).ToLower() == ".png") { success = await photo.CompressAsync(Bitmap.CompressFormat.Png, 100, outputStream); } else { success = await photo.CompressAsync(Bitmap.CompressFormat.Jpeg, 100, outputStream); } } return(true); } catch (Exception) { return(false); } }