0
   byte[] binaryData = new Byte[pngStream.Length];
   long bytesRead = pngStream.Read(binaryData, 0, (int)pngStream.Length);

   string base64String = System.Convert.ToBase64String(binaryData,
                                                          0,
                                                          binaryData.Length);

我在字节数组中有一个二进制数据。有人知道如何将其保存到 silverlight3 或 c# 中的任何图像文件(png 或 jpg)中吗?

谢谢

4

3 回答 3

7

要将字节数组(逐字)保存到文件中:

System.IO.File.WriteAllBytes("c:\\YourFile.png", binaryData);

那是你所追求的吗?

于 2010-06-01T00:46:48.693 回答
0

你的像素数据是什么格式的?

无论如何,看看 ImageTools 库:http: //imagetools.codeplex.com/

避免重新发明轮子

于 2010-05-31T23:08:24.753 回答
0

由于听起来数据已经是您想要的格式,所以问题似乎更像是“如何将流的内容保存到文件中”,Moe 回答正确。如果将其全部存储在内存中是一个问题,您可以File.Create然后从一个流复制到另一个流(如果在 .Net 4 中,您可以使用新的 CopyTo 方法为您完成 - 如果下级您可以手动完成或者只是使用扩展方法来获得相同的行为:)

如果您碰巧需要更改图像的格式,您可以使用 System.Drawing.Image 来实现。例如,Image.FromStreamSave 方法

于 2010-06-01T04:48:00.147 回答