图像调整器:没有为请求(WebP)找到图像编码器

本文关键字:图像 编码器 图像编码 WebP 请求 调整器 | 更新日期: 2023-09-27 17:50:18

我使用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小节中添加了<add name="WebPEncoder" />

我不明白是什么问题

图像调整器:没有为请求(WebP)找到图像编码器

Nathanael,我遵循了你最近评论中的提示,现在它工作了。这是我所做的:

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"
);

感谢您的支持!