我使用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" />
。
我不明白这个问题是什么。
答案 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"
);
感谢您的支持!