就是我接收到一个byte数组,怎么把这个数组保存成.jpg文件,然后保存到本地啊
求助高手解答!~~

解决方案 »

  1.   

    BitConverter.ToString()转换成字符串保存BitConverter.GetBytes()转换回数组使用
      

  2.   

    我是要把byte数组转换成.jpg文件然后保存到本地望高手附上实现代码!~谢谢啊!~~~
      

  3.   

    using System.IO;
    File.WriteAllBytes(路径, 数组);
      

  4.   

    4楼已经给出来了。估计楼主看不懂。详细一下System.IO.File.WriteAllBytes(@"c:\test.jpg", your_bytes);
      

  5.   


    嗯.呵呵.厉害.没想到可以直接写成一个JPG文件.
      

  6.   


    IHccSDKPara HSDKP = new IHccSDKPara();
                byte[] newdata = HSDKP.GetByteImageData(host, cmd_port, tcp_data_port, clientname, cameraname, nType);
                int m_nImageSize = HSDKP.m_nImageSize;
                int m_nImageWidth = HSDKP.m_nImageWidth;
                int m_nImageHeight = HSDKP.m_nImageHeight;
                bool Flag;
                string path = Application.StartupPath + @"\capture.bmp";
                if (0 == newdata.Length)
                {
                    Flag = false;
                    pictureBox1.ImageLocation = path;
                }
                else
                {
                    Flag = true;
                    IntPtr outptr = Marshal.UnsafeAddrOfPinnedArrayElement(newdata, 0);           //取得newdata数组地址
                    //************(将最后m_nImageWidth长度的数据放到第一行,倒数第二行放到第二行,依此规律组合)*************************
                    Bitmap productImage = new Bitmap(m_nImageWidth, m_nImageHeight);
                    System.Drawing.Imaging.BitmapData imageData = productImage.LockBits(new Rectangle(0, 0, productImage.Width, productImage.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
                    IntPtr ptr = imageData.Scan0;
                    byte[] byteData = new byte[m_nImageSize];
                    Marshal.Copy(outptr, byteData, 0, m_nImageSize);
                    Marshal.Copy(byteData, 0, ptr, m_nImageSize);
                    productImage.UnlockBits(imageData);
                    //解决"GDI+绘图发生一般性错误"
                    Bitmap bmap = new Bitmap(m_nImageWidth, m_nImageHeight, PixelFormat.Format24bppRgb);
                    Graphics draw = Graphics.FromImage(bmap);
                    float WidthRate = (float)Math.Round((decimal)352 / m_nImageWidth, 4);
                    float HeightRate = (float)Math.Round((decimal)288 / m_nImageHeight, 4);
                    draw.ScaleTransform(WidthRate, HeightRate);
                    draw.DrawImage(productImage, 0, 0);
                    pictureBox1.Image = (Image)bmap;
                    productImage.Save(path, ImageFormat.Jpeg);                //解决"GDI+绘图发生一般性错误"
                    draw.Dispose();
                    productImage.Dispose();
                }
      

  7.   

    标记一下,
    我以前还用过这个。
    System.Text.Encoding.Default.GetString(bytes)
      

  8.   

    File.WriteAllBytes(路径, 数组);  这样做咯,最简单啦。
      

  9.   

    我给你把代码写出来
    using System.IO;MemoryStream ms=new MemoryStream(Byte[] b);  把那个byte[]数组传进去,然后
    FileStream fs=new FileStream(路径 例如:"D:\image\myimage.jpg");
    ms.writeto(fs);
    ms.close();
    fs.close();
    可以了,我用过的,没问题