以编程方式向图像添加命名空间效果

Adding an namespace effect to an Image programmatically

我正在尝试为图像添加自定义灰度效果。 通过 nuget 的效果:https://www.nuget.org/packages/GrayscaleEffect/

我正在尝试将效果添加到图像中,如下所示:

Image.Effect = new GrayscaleEffect { };

我收到一条错误消息,告诉我 GrayscaleEffect 是一个命名空间,我不能这样使用它。 如何做到这一点?

GrayscaleEffect class 在 GrayscaleEffect 命名空间中定义:

Image.Effect = new GrayscaleEffect.GrayscaleEffect
{
    DesaturationFactor = 1.0
};

正如 Ian 提醒我的那样,您还可以在 C# 文件的顶部添加 using GrayscaleEffect;,以避免每次引用 class 时都明确提及命名空间:

using System.Windows;
using System.Windows.Controls;
using GrayscaleEffect;

//...snip...

Image.Effect = new GrayscaleEffect
{
    DesaturationFactor = 1.0
};

如果您键入 GrayscaleEffect.,并在名称空间名称后加上点或句点,智能感知将为您提供该名称空间中定义的类型列表:

这通常是正确的,而且非常有用。