C# - Base64编码JPEG到Base64编码的BMP

时间:2012-08-31 07:28:48

标签: c# base64

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'

2 个答案:

答案 0 :(得分:3)

你不应该使用ImageFormat.MemoryBmp,这只是为了在内存中表示位图。没有任何编码器可以将其保存为文件。

使用ImageFormat.Bmp

答案 1 :(得分:2)

更改

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

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

PS:string out = ...也应为string @out = ... out是c#的关键字)