将二进制数据保存到c#/silverlight 3中的图像文件中

将二进制数据保存到c#/silverlight 3中的图像文件中,c#,silverlight,image,save,binary-data,C#,Silverlight,Image,Save,Binary Data,我有一个字节数组中的二进制数据。 有人知道如何将其保存到silverlight3或c#中的任何图像文件(png或jpg)中吗 谢谢您的像素数据是什么格式的 在任何情况下,请查看ImageTools库: 省去重新发明轮子的麻烦要将字节数组(逐字)保存到文件中: byte[] binaryData = new Byte[pngStream.Length]; long bytesRead = pngStream.Read(binaryData, 0, (int)pngStream.Leng

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


谢谢

您的像素数据是什么格式的

在任何情况下,请查看ImageTools库:

省去重新发明轮子的麻烦

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

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

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

这就是你想要的吗?

因为听起来数据已经是你想要的格式了,所以问题更像是“如何将流的内容保存到文件”,Moe回答得很正确。如果需要将其全部存储在内存中,则可以从一个流复制到另一个流(如果在.Net 4中,则可以使用来为您执行此操作-如果在底层,则可以手动执行此操作,或者仅使用扩展方法来获得相同的行为:)

如果您碰巧需要更改图像的格式,可以使用System.Drawing.image进行更改。例如,然后

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