2017-01-29 2 views
1

からイメージを作成することはできません私はしかし、私は「答えはドン、私はストリームをシャットダウンし、そのようにしています信じていませんA generic error occurred in GDI+, JPEG Image to MemoryStreamは、なぜ私がイメージアレイ

と非常に類似したエラーを取得していますトン

var img = (Tests.Properties.Resources.image).ToByteArray(); //img is a png; 

using (var ms = new MemoryStream(img)) 
{ 
    var pic = Image.FromStream(ms); 
    pic.Save(this._absolutePath, this._format); //kaboomn 
} 

問題を検討してください適用されたコードの最後の行は、KABOOMが行きます!

"GDI +で一般的なエラーが発生しました。"

これにはI 2つのストリームを使用していたが、初めてのバイトを返し、そのようなものとして、私が同じストリームを使用していないよ、私は拡張メソッド

public static byte[] ToByteArray(this Bitmap image) 
{ 
    using (var ms = new MemoryStream()) 
    { 
     image.Save(ms, image.RawFormat); 
     return ms.ToArray(); 
    } 
} 

あります単純にバイトを扱います。

+0

チェックこのhttps://support.microsoft.com/en-us/help/814675/bitmap-and-に

using (var ms = new MemoryStream(img)) { var pic = Image.FromStream(ms); pic.Save(this._absolutePath, this._format); } 

を置き換えます –

+1

私はあなたのコードをテストして、それはpng画像でfneを動作させます。おそらくあなたのパスまたは出力形式が有効でないかもしれません。 –

+0

@MaksimSimkin、それは答えです – MyDaftQuestions

答えて

関連する問題