6

我正在尝试调整大小,然后对传入的图像进行方形裁剪。我有我的图像,ReadOnlyStream并想输出到MemoryStream.

我正在使用ImageResizer库来执行此操作。

我希望我的图像首先缩小尺寸,然后中心正方形裁剪它们。我正在使用这段代码,但它没有产生我需要的东西。它什么都不会产生...

var resultStream = new MemoryStream();
ImageJob job = new ImageJob(imageStream, resultStream, new Instructions {
    Width = 100,
    Height = 100,
    Mode = FitMode.Crop
});
job.Build();

此代码应下采样大图像并根据库默认值(中心裁剪)裁剪它们。

我没有在 web.config 中提供任何特定配置,因为据我了解,这不是必需的。

我究竟做错了什么?

4

1 回答 1

11

ImageResizer 在写入后不会将输出流位置重置为 0,因为这会破坏不可搜索的写入流,如 HttpResponseStream。

你需要resultStream.Seek(0, SeekOrigin.Begin);在阅读之前打电话。

于 2014-11-06T14:04:20.503 回答