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

本文关键字:图像 裁剪 调整 使用 ImageResizer | 更新日期: 2023-09-27 18:29:19

我正在尝试调整大小,然后方形裁剪传入的图像。我的图像在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中提供任何特定的配置,因为据我所知,这不是必需的。

我做错了什么

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

ImageResizer在写入输出流后不会将其位置重置为0,因为这会破坏HttpResponseStream等不可查找的写入流。

在读取之前,您需要调用resultStream.Seek(0, SeekOrigin.Begin);