我想吧图片保存成字符串,再还原回来,各位大大帮忙写2个方法好吗
小弟谢过了

解决方案 »

  1.   

    http://topic.csdn.net/t/20040608/12/3073267.html
    看看这个对你有没用
      

  2.   

    首先通过FileStream读出图片的byte数据,
    然后使用
    Convert.ToBase64String( byte[] )
    这个方法转化成string,然后进行保存。反之,先读出string数据
    然后使用
    Convert.FromBase64String( string )
    这个方法转化成byte[],之后再进行保存或者显示
      

  3.   

    Convert.ToBase64String( byte[] )
    这个方法转化成string,然后进行保存。反之,先读出string数据
    然后使用
    Convert.FromBase64String( string )
    这个方法转化成byte[],之后再进行保存或者显示
    ============================================
    这个知道,主要是对内存流这不太懂Stream一类的不太会用
      

  4.   

    Encode file:
    FileStream.Read: File => byte[]
    Convert.ToBase64String( byte[] ): byte[] => string
    StreamWriter.Write: string => FileDecode file
    StreamReader.ReadToEnd: File => string
    Convert.FromBase64String( string ): string => byte[]
    FileStream.Write: byte[] => File
      

  5.   

    FileStream fs = new FileStream("h:/file.jpg", FileMode.Open);
    byte[] bytes = new byte[fs.Length];
    int i = fs.Read(bytes, 0, bytes.Length);
    string str = Convert.ToBase64String(bytes);
    ====================================================
    是这样我就可以把图片转成Base64了吧,有2个问题.
    1.我的图片不是地址,是在pictureBox中的image类型的数据
    2.我要怎么才能给他转成image的呢
    ====================================================
    谢谢愚翁了
      

  6.   

    to 是这样我就可以把图片转成Base64了吧,有2个问题.
    1.我的图片不是地址,是在pictureBox中的image类型的数据
    2.我要怎么才能给他转成image的呢如果是通过picturebox已经有Image对象,那相当于
    Image => byte[]
    MemoryStream ms = new MemoryStream();
    yourImage.Save( ms, ImageFormat.Jpeg );
    ms.Flush();
    byte[] bImage = ms.GetBuffer();//Get image databyte[] => Image
    MemoryStream ms = new MemoryStream( bImage, true );
    ms.Read( bImage, 0, bImage.Length );
    ms.Position = 0;
    Image img = Image.FromStream( ms );如果没有给picturebox初始化image,则需要bitblt进行抓屏,
    参看
    http://www.syncfusion.com/faq/windowsforms/Search/870.aspx
    方法是一样的,不过产生hdc的时候通过picturebox来产生。
      

  7.   

    楼主啊,.你的解决了.,但我想问一下.我按愚翁兄的做法
    byte[] => Image
    MemoryStream ms = new MemoryStream( bImage, true );
    ms.Read( bImage, 0, bImage.Length );
    ms.Position = 0;
    Image img = Image.FromStream( ms );//这句提示参数无效?
    不知是什么原因...