1
byte[] bytes = Convert.FromBase64String(in);
Image image = Image.FromStream(new MemoryStream(bytes));
MemoryStream objMS = new MemoryStream();
image.Save(objMS, System.Drawing.Imaging.ImageFormat.MemoryBmp);
string out = Convert.ToBase64String(objMS.ToArray())
objMS.Close();

上記のコードは、非常に役に立たないエラーメッセージで失敗します。

'Value cannot be null. Parameter name: encoder'
4

2 に答える 2

3

を使用ImageFormat.MemoryBmpしないでください。これは、メモリ内のビットマップを表すためだけのものです。それをファイルとして保存するためのエンコーダーはありません。

を使用しImageFormat.Bmpます。

于 2012-08-31T07:34:41.453 に答える
2

変化する

image.Save(objMS, System.Drawing.Imaging.ImageFormat.MemoryBmp);

image.Save(objMS, System.Drawing.Imaging.ImageFormat.Bmp);

PS:またstring out = ...あるべきですstring @out = ...outac#のキーワードです)

于 2012-08-31T07:34:33.150 に答える