C#如何将二进制数据转成图片

try
{
using (StreamReader strm = new StreamReader(@"C:\myAnim.gif"))
{
//Image img = Image.FromFile(@"C:\myAnim.gif");

          Image img = Image.FromStream(strm.BaseStream);
          picImages.Image = img;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}

 

C# code

private void button1_Click(object sender, EventArgs e)
{
    //从数据库取数据的过程省略,最终获取如DataTable等数据集等
     .............................
    byte[] buffer = (byte[])dt.Rows[行][列];
    using (MemoryStream ms = new MemoryStream(buffer))
    {
        Image img = Image.FromStream(ms);//生成图片
     }
}
byte[]转换为stream 
byte   []   imageSrc   =   ...   
   
  MemoryStream   memoryStream   =   new   MemoryStream();  
  memoryStream.Write(   imageSrc,   0,   imageSrc.Length   );  
 
二进制形式的字符串转换为  byte[]
 byte[] DbBuffer = System.Text.Encoding.Default.GetBytes(dt.Rows[i]["QuestionCoding"].ToString());

   //b[i]   =   byte.Parse(stra[i],   System.Globalization.NumberStyles.HexNumber);  
  b[i]   =   Convert.ToByte(stra[i],   16);//两种都行  

 

 

byte[]转换成 二进制形式的字符串

 Convert.ToBase64String(byteArray);  

Convert.ToBase64String  
  Convert.FromBase64String

 s   =   BitConverter.ToString(byteArray);  

 

 string     b   =   Encoding.GetEncoding("gb2312").GetString(a);  
  byte[]   y   =   Encoding.GetEncoding("gb2312").GetBytes(b);  

System.Text.Encoding 里面的某个Encoding的GetString函数(反函数是GetBytes)。
这里面的某个Encoding包括 Default、AscII、Unicode、UTF7、UTF8。

 

posted @ 2009-12-15 22:27  杨子宜  阅读(4405)  评论(0)    收藏  举报