首页 > 解决方案 > 在 XAML 图像上应用棕褐色、黑白等过滤器

问题描述

我想将过滤器应用于 XAML 图像。我使用 FileOpenPicker 加载图像,该文件从该文件设置 XAML 图像的源,之后我想使用按钮对其应用过滤器,一旦我对结果感到满意,我想保存它。到目前为止,我已经能够加载和保存加载到 XAML 图像上的图像,但是我尝试了各种 SDK,例如 ImageProcessor、Lumia Imaging SDK,现在我正在尝试使用 Win2D 找到解决方案,但我我被困住了,完全不知道如何前进。我试图在 XAML 图像上执行此操作而不将其转换为任何其他格式的事实可能是问题所在,但我找不到解决方案。有没有一种简单的方法可以使用以下 SDK 之一来应用过滤器?

标签: c#image-processinguwpwin2dimageprocessor

解决方案


Windows 社区工具包有一些符合您要求的画笔。例如,BackdropSepiaBrush

为 XAML 图像应用 SepiaEffect 很容易。

请参阅我的以下代码示例:

xmlns:media="using:Microsoft.Toolkit.Uwp.UI.Media"

<Grid>
    <Image x:Name="img" Source="Assets/panda.jpg"></Image>
    <Border BorderBrush="Black" BorderThickness="1" VerticalAlignment="Center" HorizontalAlignment="Center" Width="500" Height="700">
        <Border.Background>
            <media:BackdropSepiaBrush Intensity="0.85" />
        </Border.Background>
    </Border>
</Grid>

官方代码示例在GitHub 上。如果您想了解其他画笔,请查看这些样本。


推荐阅读