C# 图像大小调整器:找不到请求的图像编码器(WebP)

C# 图像大小调整器:找不到请求的图像编码器(WebP),c#,imageresizer,C#,Imageresizer,我在使用Imageresizer.NET库以WebP格式编码图像时遇到问题 这是引发异常的代码片段: ImageResizer.ImageJob i1920Webp = new ImageResizer.ImageJob(filePath, filePath.Replace(name, name + "-1920").Replace(ext, ".webp"),new ImageResizer.Instructions("width=1920;format=webp;quality=65"));

我在使用Imageresizer.NET库以WebP格式编码图像时遇到问题

这是引发异常的代码片段:

ImageResizer.ImageJob i1920Webp = new ImageResizer.ImageJob(filePath, filePath.Replace(name, name + "-1920").Replace(ext, ".webp"),new ImageResizer.Instructions("width=1920;format=webp;quality=65"));
i1920Webp.Build();
这是相对堆栈跟踪:

[ImageProcessingException (0x80004005): No image encoder was found for this request.]
ImageResizer.ImageBuilder.buildToStream(Bitmap source, Stream dest, ResizeSettings settings) +270
ImageResizer.ImageBuilder.BuildJob(ImageJob job) +1237
ImageResizer.ImageBuilder.Build(ImageJob job) +268
Build()方法调用引发异常。 目标文件是在文件系统上创建的,但它是空的(0字节);它的名称正确:image-1920.webp

我已经通过NuGet安装了WebP插件;我在web.config的resizer部分的plugins小节中添加了


我不明白是什么问题。

纳撒尼尔,我已经按照你最新评论中的提示进行了操作,现在它可以正常工作了。 这就是我所做的:

var config = new ImageResizer.Configuration.Config();
new WebPEncoderPlugin().Install(config);
config.BuildImage(
    filePath, 
    filePath.Replace(name, name + "-1920").Replace(ext, ".webp"),
    "width=1920;format=webp;quality=65"
);

谢谢你的支持

未安装WebPEncoder。检查自我诊断页面,
/resizer.debug
以了解原因。我收到以下消息:
以下插件程序集已加载,但似乎未被使用。您应该从/bin文件夹中删除它们(尤其是它们的依赖项(除非在别处使用)),以缩短应用程序加载时间:ImageResizer.Plugins.WebP程序集:3.4.3.103文件:3.4.3.103
好的,然后您需要在web.config中更正XML(假设这是ASP.NET应用程序),或者通过代码安装插件(
新建WebPEncoderPlugin().Install(Config.Current);
)。