async void SaveCommandExecuted(CachedImage image) { // TODO Save to Gallery var png = await image.GetImageAsPngAsync(); var path = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures); var fileName = DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss") + ".png"; var fullPath = Path.Combine(path, fileName); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } File.WriteAllBytes(fullPath, png); _userDialogs.Toast("Saved"); }
public GetImageTestPage() { Title = "GetImage Test Page"; var img = new CachedImage { Source = "http://i.imgur.com/6ZUYWDE.jpg", LoadingPlaceholder = "placeholder.jpg", }; _copiedImageJpg = new CachedImage { LoadingPlaceholder = "placeholder.jpg" }; _copiedImagePng = new CachedImage { LoadingPlaceholder = "placeholder.jpg" }; img.Finish += OnFinish; _copyJPG = new Button() { Text = "Copy as JPG", IsEnabled = false }; _copyPNG = new Button() { Text = "Copy as PNG", IsEnabled = false }; _copyJPG.Clicked += async(s, e) => { var data = await img.GetImageAsJpgAsync(); _copiedImageJpg.Source = ImageSource.FromStream(() => { return(new MemoryStream(data)); }); }; _copyPNG.Clicked += async(s, e) => { var data = await img.GetImageAsPngAsync(); _copiedImagePng.Source = ImageSource.FromStream(() => { return(new MemoryStream(data)); }); }; Content = new ScrollView { Content = new StackLayout { VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand, Children = { img, _copyJPG, _copyPNG, _copiedImageJpg, _copiedImagePng } } }; }