Пример #1
0
        public static async Task OnShareTargetActivated(ShareTargetActivatedEventArgs args)
        {
            var shareOperation = args.ShareOperation;

            shareOperation.ReportStarted();
            if (shareOperation.Data.Contains(StandardDataFormats.StorageItems))
            {
                var items = await shareOperation.Data.GetStorageItemsAsync();

                foreach (var item in items)
                {
                    if (item is StorageFile file)
                    {
                        var canvasData = await ImageWriterService.StorageFileToCanvasData(file);

                        shareOperation.ReportDataRetrieved();
                        NavigateToMain(canvasData);
                    }
                }
            }
            else if (shareOperation.Data.Contains(StandardDataFormats.Bitmap))
            {
                var reference = await shareOperation.Data.GetBitmapAsync();

                using (var stream = await reference.OpenReadAsync())
                {
                    await ProcessSharedImage(
                        stream,
                        shareOperation,
                        ResourceLoader.GetForCurrentView().GetString(NEW_IMAGE_NAME_KEY));
                }
            }
        }
        public async Task <ImageCanvasDataService> OpenImageDialog()
        {
            var picker = new FileOpenPicker
            {
                ViewMode = PickerViewMode.Thumbnail,
                SuggestedStartLocation = PickerLocationId.PicturesLibrary
            };

            picker.FileTypeFilter.Add(".jpg");
            picker.FileTypeFilter.Add(".png");

            var file = await picker.PickSingleFileAsync();

            ImageCanvasDataService result = null;

            if (file != null)
            {
                result = await ImageWriterService.StorageFileToCanvasData(file);
            }
            return(result);
        }