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 = ...out是ac#的关键字)

于 2012-08-31T07:34:33.150 回答