C# 如何使用C中的SimpleFilter将灰度应用于图像?

C# 如何使用C中的SimpleFilter将灰度应用于图像?,c#,azure,azure-functions,imageresizer,C#,Azure,Azure Functions,Imageresizer,我正在Azure中创建一个函数,它可以获取图像并调整其大小,同时使其灰度化。我目前正在使用此功能: #r "System.Drawing" using ImageResizer; using ImageResizer.Plugins.SimpleFilters; using System.Drawing; using System.Drawing.Imaging; public static void Run(Stream inputImage, string imageName, Stre

我正在Azure中创建一个函数,它可以获取图像并调整其大小,同时使其灰度化。我目前正在使用此功能:

#r "System.Drawing"

using ImageResizer;
using ImageResizer.Plugins.SimpleFilters;
using System.Drawing;
using System.Drawing.Imaging;

public static void Run(Stream inputImage, string imageName, Stream 
resizedImage, TraceWriter log)
{
  log.Info($"C# Blob trigger function Processed blob\n Name:{imageName} \n 
  Size: {inputImage.Length} Bytes");

  var settings = new ImageResizer.ResizeSettings{
    MaxWidth = 400,
    Format = "png"
  };

  // Add the grayscale filter to the image
  inputImage.filters.Add(GrayscaleNTSC());

  ImageResizer.ImageBuilder.Current.Build(inputImage, resizedImage, settings);

}
我正在导入Plugins.SimpleFilters,但我不知道如何在C中使用它。项目站点提供了纯HTML的示例

你知道如何对图像进行灰度处理吗

我得到以下错误: 当前上下文中不存在名称“GrayscaleNTSC”

我使用的软件包是:

"dependencies": {
  "ImageResizer": "4.0.5",
  "ImageResizer.Plugins.SimpleFilters": "4.0.5"
}

根据您的描述,我假设您可以利用ImageResizer中的托管API来实现您的目的。这是我的测试,你可以参考它:

核心代码

结果

原始图像:

修改图像:


此外,有关更多详细信息,您可以参考和。

那么什么是GrayscaleNTSC?您试图调用它,就好像它是您的静态方法一样…谢谢!这正是我所需要的。我很难找到那份文件。它现在的工作方式应该是这样的。
//install the SimpleFilters plugin
ImageResizer.Configuration.Config.Current.Plugins.Install(new SimpleFilters());
var settings = new ResizeSettings("width=400&height=500&crop=auto&s.grayscale=true");
ImageBuilder.Current.Build($"{baseDir}/resources/image_01.jpg", $"{baseDir}/resources/image_01_01.jpg",
                    settings);