Изменение размера и обрезка изображений с помощью ImageResizer

Я пытаюсь изменить размер и затем обрезать входящие изображения. У меня есть мое изображение в 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 ответ

Решение

ImageResizer не сбрасывает позицию выходного потока в 0 после записи в него, так как это приведет к разрыву потоков без записи, таких как HttpResponseStream.

Вам нужно позвонить resultStream.Seek(0, SeekOrigin.Begin); прежде чем читать из него.

Другие вопросы по тегам