public ShareImageProvider(ICanvasDataService holst, InkStrokeContainer container)
 {
     this.holst          = holst;
     this.container      = container;
     dataTransferManager = DataTransferManager.GetForCurrentView();
     dataTransferManager.DataRequested += DataTransferManager_DataRequested;
 }
        public async Task SaveImageDialog(ICanvasDataService canvasData, InkStrokeContainer container)
        {
            var picker = new FileSavePicker();

            picker.FileTypeChoices.Add("JPEG images", new List <string>()
            {
                ".jpg"
            });
            picker.FileTypeChoices.Add("PNG images", new List <string>()
            {
                ".png"
            });
            picker.DefaultFileExtension   = ".jpg";
            picker.SuggestedFileName      = canvasData.Name;
            picker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
            var storageFile = await picker.PickSaveFileAsync();

            if (storageFile != null)
            {
                canvasData.FullPath          = storageFile.Path;
                canvasData.FutureAccessToken = StorageApplicationPermissions.FutureAccessList.Add(storageFile);
                var softwareBitmap = await canvasData.SaveToBitmap(container);

                await ImageWriterService.WriteSoftwareBitmapToFile(storageFile, softwareBitmap);
            }
        }
Exemplo n.º 3
0
        private static void NavigateToMain(ICanvasDataService canvasData)
        {
            if (!(Window.Current.Content is Frame))
            {
                Window.Current.Content = new Frame();
            }
            var frame = Window.Current.Content as Frame;

            Window.Current.Content = frame;
            frame.Navigate(typeof(MainPage), canvasData);
            Window.Current.Activate();
        }
        public async Task Save(ICanvasDataService canvasData, InkStrokeContainer container)
        {
            if (canvasData.FullPath == null)
            {
                await SaveImageDialog(canvasData, container);
            }
            else
            {
                var softwareBitmap = await canvasData.SaveToBitmap(container);

                var file = await StorageApplicationPermissions.FutureAccessList.GetFileAsync(canvasData.FutureAccessToken);

                await ImageWriterService.WriteSoftwareBitmapToFile(file, softwareBitmap);
            }
        }