Esempio n. 1
0
        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
                    }
                }
            };
        }