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 に答える