Эффект размытия не может отобразить изображение в Windows Phone (Lumia Imaging SDK)

Я использовал код, вырезанный из документации Lumia Imaging SDK. У меня есть Fileopenpicker в моем коде и вызывает метод viewActivation. В этом методе я использовал код BlurEffect SDK Lumia Imaging, который вы можете найти здесь. Там нет ошибок, но я не могу получить мое изображение размытым.

Вот мой полный код, который я использовал:

private void Button_Click(object sender, RoutedEventArgs e)
    {
        ImagePath = string.Empty;
        FileOpenPicker filePicker = new FileOpenPicker();
        filePicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
        filePicker.ViewMode = PickerViewMode.Thumbnail;

        // Filter to include a sample subset of file types
        filePicker.FileTypeFilter.Clear();
        filePicker.FileTypeFilter.Add(".bmp");
        filePicker.FileTypeFilter.Add(".png");
        filePicker.FileTypeFilter.Add(".jpeg");
        filePicker.FileTypeFilter.Add(".jpg");

        filePicker.PickSingleFileAndContinue();
        view.Activated += viewActivated;

    }



    private async void  viewActivated(CoreApplicationView sender, Windows.ApplicationModel.Activation.IActivatedEventArgs args1)
    {
        //throw new NotImplementedException();

        FileOpenPickerContinuationEventArgs args = args1 as FileOpenPickerContinuationEventArgs;

        if (args != null)
        {
            if (args.Files.Count == 0) return;

            view.Activated -= viewActivated;
            StorageFile storageFile = args.Files[0];
            var stream = await storageFile.OpenAsync(Windows.Storage.FileAccessMode.Read);
            var bitmapImage = new Windows.UI.Xaml.Media.Imaging.BitmapImage();
            await bitmapImage.SetSourceAsync(stream);

            var decoder = await Windows.Graphics.Imaging.BitmapDecoder.CreateAsync(stream);
            RealImage.Source = bitmapImage;

            // A blur effect is initialized with selected image stream as source.
            IRandomAccessStream fileStream = await storageFile.OpenAsync(FileAccessMode.Read);
            var imageStream = new RandomAccessStreamImageSource(fileStream);
            using (var filterEffect = new FilterEffect(imageStream))
            {
                // Initialize the filter and add the filter to the FilterEffect collection
                var filter = new BlurFilter(10);

                filterEffect.Filters = new IFilter[] { filter };

                // Create a target where the filtered image will be rendered to
                var target = new WriteableBitmap(400, 400);

                // Create a new renderer which outputs WriteableBitmaps
                using (var renderer = new WriteableBitmapRenderer(filterEffect, target))
                {
                    // Render the image with the filter(s)
                    await renderer.RenderAsync();

                    // Set the output image to Image control as a source
                    BlurredImage.Source = target;
                }


            }


        }

    }

0 ответов

Другие вопросы по тегам