Ejemplo n.º 1
0
        private async Task DoPickImageFile()
        {
            try
            {
                var picker = new FileOpenPicker
                {
                    ViewMode = PickerViewMode.Thumbnail,
                    SuggestedStartLocation = PickerLocationId.PicturesLibrary
                };
                picker.FileTypeFilter.Add(".jpg");
                picker.FileTypeFilter.Add(".jpeg");
                picker.FileTypeFilter.Add(".png");
                picker.FileTypeFilter.Add(".bmp");
                picker.FileTypeFilter.Add(".gif");

                var file = await picker.PickSingleFileAsync();

                if (file != null)
                {
                    var stream = await file.OpenAsync(FileAccessMode.Read);

                    var bitmapImage = new BitmapImage();
                    await bitmapImage.SetSourceAsync(stream);

                    CurrentImageSource = bitmapImage;

                    ImagePixelHeight = bitmapImage.PixelHeight;
                    ImagePixelWidth  = bitmapImage.PixelWidth;

                    RaisePropertyChanged(nameof(ImageResolution));

                    var tempFolder = ApplicationData.Current.TemporaryFolder;
                    var copiedFile = await file.CopyAsync(tempFolder, $"Tracing_Temp{file.FileType}", NameCollisionOption.ReplaceExisting);

                    InkOperator.ApplyImageFile(copiedFile);
                }
            }
            catch (Exception ex)
            {
                var msg = $"{nameof(DoPickImageFile)}(): {ex.Message}";
                await DialogService.ShowMessageBox(msg,
                                                   Utils.GetResource("Resources/MessageDialogTitle-Error"));
            }
        }