图像调整器:未找到请求的图像编码器(WebP)

时间:2015-05-21 09:51:20

标签: 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"));
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部分的插件子部分添加了<add name="WebPEncoder" />

我不明白这个问题是什么。

1 个答案:

答案 0 :(得分:0)

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

感谢您的支持!