C# 对图片Lumia SDK UWP应用多个过滤器

C# 对图片Lumia SDK UWP应用多个过滤器,c#,xaml,uwp,sdk,lumia-imaging-sdk,C#,Xaml,Uwp,Sdk,Lumia Imaging Sdk,我尝试使用Lumia Imaging SDK对图片应用几个过滤器,但我只能使用一个过滤器。当我为Win8.1制作时,我可以使用一系列过滤器,但现在它不起作用了。我怎样才能解决它 应用筛选器的代码: public async Task<bool> ApplyEffectAsync(StorageFile file) { WriteableBitmap temp = new WriteableBitmap(1280, 720); temp = new Write

我尝试使用Lumia Imaging SDK对图片应用几个过滤器,但我只能使用一个过滤器。当我为Win8.1制作时,我可以使用一系列过滤器,但现在它不起作用了。我怎样才能解决它

应用筛选器的代码:

public async Task<bool> ApplyEffectAsync(StorageFile file)
{
    WriteableBitmap temp = new WriteableBitmap(1280, 720);

        temp = new WriteableBitmap(1280, 720);
        FileStream = await File.OpenAsync(FileAccessMode.Read);
        temp.SetSource(FileStream);
        OriginalPicture = temp;
        FileStream.Seek(0);
        original.Invalidate();
        ((IImageConsumer) Effect).Source = new RandomAccessStreamImageSource(FileStream);
        M_renderer = new WriteableBitmapRenderer((IImageProvider)Effect, original);
        FilteringPicture = await M_renderer.RenderAsync();
        filtering.Invalidate();
    return true;
}
公共异步任务ApplyEffectAsync(存储文件)
{
WriteableBitmap temp=新的WriteableBitmap(1280720);
temp=新的可写比图(1280720);
FileStream=await File.OpenAsync(FileAccessMode.Read);
临时设置源(文件流);
原始图像=温度;
FileStream.Seek(0);
原件。作废();
((IImageConsumer)效果).Source=新的随机访问流ImageSource(FileStream);
M_renderer=新的可写位图渲染器((IImageProvider)效果,原始);
FilteringPicture=wait M_renderer.RenderAsync();
filtering.Invalidate();
返回true;
}
当我为Win8.1制作时,我可以使用带过滤器的数组,但现在它不工作了。我怎样才能解决它

我不太明白您在Win 8.1应用程序中是如何做到这一点的,但在UWP应用程序中,如果您想对图像应用多个效果,可以将最后渲染的效果源设置为另一个过滤器的新源。举个例子:

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <Grid.RowDefinitions>
        <RowDefinition Height="500" />
        <RowDefinition Height="50" />
    </Grid.RowDefinitions>
    <Grid Grid.Row="0">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>
        <Image x:Name="originalimg" Grid.Column="0" />
        <SwapChainPanel x:Name="SwapChainPanelTarget" Grid.Column="1" />
        <Image x:Name="MutipleFilter" Grid.Column="2" />
    </Grid>
    <Button Content="Click Me" Click="Button_Click" Grid.Row="1" HorizontalAlignment="Center" />
</Grid>
当我为Win8.1制作时,我可以使用带过滤器的数组,但现在它不工作了。我怎样才能解决它

我不太明白您在Win 8.1应用程序中是如何做到这一点的,但在UWP应用程序中,如果您想对图像应用多个效果,可以将最后渲染的效果源设置为另一个过滤器的新源。举个例子:

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <Grid.RowDefinitions>
        <RowDefinition Height="500" />
        <RowDefinition Height="50" />
    </Grid.RowDefinitions>
    <Grid Grid.Row="0">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>
        <Image x:Name="originalimg" Grid.Column="0" />
        <SwapChainPanel x:Name="SwapChainPanelTarget" Grid.Column="1" />
        <Image x:Name="MutipleFilter" Grid.Column="2" />
    </Grid>
    <Button Content="Click Me" Click="Button_Click" Grid.Row="1" HorizontalAlignment="Center" />
</Grid>