使用ImageResizer调整图像大小和裁剪图像

时间:2014-11-05 14:49:44

标签: c# imageresizer resize-crop

我试图调整大小,然后对传入的图像进行方形裁剪。我将图片放在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中提供任何特定的配置,因为我理解它并不是必需的。

我做错了什么?

1 个答案:

答案 0 :(得分:9)

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

在阅读之前,您需要致电resultStream.Seek(0, SeekOrigin.Begin);