0

こんにちは私はImageSharpバージョン1.0.0-alpha9-00175を使用しています。私はImageSharp指定されたメソッドはサポートされていません

.Save(output, ImageFormats.Jpeg); 

を使用するとき、私はここで、以下の Not SupportedException

を取得し、私はコメントアウトした場合、私のコードは

input.Seek(0, SeekOrigin.Begin); 
     using (Image<Rgba32> image = Image.Load<Rgba32>(input)) 
     { 

      if (image.Width >= image.Height) //landscape 
      { 
       ratio = image.Height/defaultWidth;     
      } 
      else //portrait 
      { 
       ratio = image.Width/defaultHeight;     
      } 

      image.Resize(image.Width/ratio, image.Height/ratio) 
       .Crop(defaultWidth, defaultHeight)     
       .Save(output, ImageFormats.Jpeg); 
     } 

ある.SAVEラインは、コードが例外なく実行されますが、明らかに文句を言わないセーブ。私はstackoverflowとGithubの問題を見てきましたが、役に立たない。

誰かが私は何かを見ることができますか?

答えて

1

アルファ版のImageSharpを使用しているため、すべてのコードパスでテストすることはできません。あなたは、コールスタックを見れば、あなたは、この行を参照:だから

ReferenceReadStream : Line 168

public override void Write(byte[] buffer, int offset, int count) 
    { 
     throw new NotSupportedException(); 
    } 

Microsoft.AspNetCore.Http.Internal.ReferenceReadStream.Write(byte[] buffer, int offset, int count) 

をあなたはaspnet's HttpAbstractions repository on GitHubに切り替える場合は、例外がスローされたラインを見ることができますこれらのプロジェクトにも参加することを除いて、あなたが今できることはあまりありません。少なくとも、指定されたリポジトリで問題を開くことができます。また、別の画像処理ツールキットを入手したり、他の画像処理ツールキットを入手したりすることもできます。

+4

ライブラリに問題はありません。読み込みストリームなので書き込むことはできません。私たちは本当にこれをテストすることはできませんし、どちらにもなりません。 –

+1

それはupvoteの価値がある... – Waescher

2

@Waescherアドバイスを取った後、ImageSharpでGithubに問題を開いたことが判明しました。その答えは私の顔を凝視していました。エラーは、ImageSharpではなく、書き込みしようとしていたストリームにスローされます。

Microsoft.AspNetCore.Http.Internal.ReferenceReadStream.Write(byte[] buffer, int offset, int count) 

私は新しいMemoryStreamを追加し、そのコードを使用しました。

MemoryStream outputs = new MemoryStream(); 

image.Resize(image.Width/ratio, image.Height/ratio) 
      .Crop(defaultWidth, defaultHeight)     
      .Save(outputs, ImageFormats.Jpeg); 

お手数ですがありがとうございます。 #LearningEveryDay

関連する問題