使用ImageResizer调整流中的图像大小/转换图像

时间:2014-03-13 10:24:04

标签: stream imageresizer

我正在尝试弄清楚如何使用ImageResizer(http://imageresizing.net/)转换图像。

我尝试过这样的事情。

Stream s = WebRequest.Create("http://example.com/resources/gfx/unnamed.webp").GetResponse().GetResponseStream();

ImageBuilder.Current.Build(s, "~/resources/gfx/photo3.png", new ResizeSettings("format=png"));

但我刚收到错误

“文件可能已损坏,为空,或者可能包含单个维度大于65,535像素的PNG图像。”

当我做的时候

using (Stream output = File.OpenWrite(Server.MapPath("~/resources/gfx/test.webp")))
using (Stream input = WebRequest.Create("http:///example.com/resources/gfx/unnamed.webp").GetResponse().GetResponseStream()) {
                input.CopyTo(output);
}

ImageBuilder.Current.Build("~/resources/gfx/test.webp", "~/resources/gfx/photo3.png",
                           new ResizeSettings("format=png"));

它工作正常,我在这里错过了一些东西吗?

1 个答案:

答案 0 :(得分:0)

“输出”可能尚未刷新到磁盘。 .NET 4+并不能保证文件实际写入磁盘只是因为您处理了流。

我假设你安装了ImageResizer.Plugins.WebP插件?