C# 图像大小调整器:找不到请求的图像编码器(WebP)
我在使用Imageresizer.NET库以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.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);
)。