Изменение размера и обрезка изображений с помощью 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);
прежде чем читать из него.