我需要用文本来存储图片
所以需要所Image转换成16进制字符
然后用文本文档来保存
哪位知道怎么做吗?
是否转换成Stream 然后再...怎么做呢. 唉.

解决方案 »

  1.   

    获取STREAM流后,保存成TXT文档
      

  2.   

    两种做法:1.用.net提供的序列化方法,当然反序列化的时候也只能用.net2.打成stream流后,用base64编码,这样还可以和其他语言平台交互.
      

  3.   

    用记事本,打开 窗体的.resx资源文件看看窗体中相关的各种图像是怎么保存的。.resx其实就是一个xml文件。
      

  4.   

    public static byte[] StrToByteA(string s)
    {
    byte[] tmp = new byte[s.Length * 2];
    for(int i = 0 ;  i< s.Length ; i ++)
    {
    tmp[i * 2] = (byte)((int)s[i] / 256);
    tmp[i * 2 + 1] = (byte)((int)s[i] % 256);
    }
    return tmp;
    }
    public static string ByteAToStr(byte[] ba)
    {
    string tmp = "";
    for(int i = 0 ; i < ba.Length ; i += 2)
    {
    tmp += ((char)(ba[i] * 256 + ba[i + 1])).ToString();
    }
    return tmp;
    }
    public static byte[] ImageToByteA(Image img)
    {
    byte[] tmp = null;
    ImageConverter ic = new ImageConverter();
    object obj = ic.ConvertTo(img, typeof(Byte[]));
    tmp = (Byte[])obj;
    return tmp;
    }
    public static Image ByteAToImage(byte[] bytImage )
    {
    Image img = null;
    ImageConverter ic = new ImageConverter();
    object obj = ic.ConvertFrom(bytImage);
    img = (Image)obj;
    return img;
    }
      

  5.   

    private string ImageToBase64String(System.Drawing.Image image)
    {
    if (image==null)
    {
    return "" ;
    }
    try
    {
    MemoryStream ms=new MemoryStream(); if (image.RawFormat.Guid == ImageFormat.Icon.Guid)
    {
    Icon icon = Icon.FromHandle(((Bitmap)image).GetHicon());
    icon.Save(ms);
    }
    else
    {
    image.Save (ms,image.RawFormat );
    } byte[] img = ms.ToArray();

    return Convert.ToBase64String(img,0,img.Length);
    }
    catch
    {
    return "";
    }
    }