好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#中图片、二进制与字符串的相互转换方法

本文实例讲述了C#中图片、二进制与字符串的相互转换方法。分享给大家供大家参考,具体如下:

?

protected void Button1_Click( object sender, EventArgs e)

{

   //图片转二进制

   byte [] imageByte = GetPictureData(Server.MapPath( "./uploadfile/111.png" ));

   //二进制转换成字符串

   string picStr = Convert.ToBase64String(imageByte);

   //输出字符串

   Response.Write(picStr);

   //字符串转二进制

   byte [] imageBytes = Convert.FromBase64String(picStr);

   //读入MemoryStream对象

   MemoryStream memoryStream = new MemoryStream(imageBytes, 0, imageBytes.Length);

   memoryStream.Write(imageBytes, 0, imageBytes.Length);

   //二进制转成图片保存

   System.Drawing.Image image = System.Drawing.Image.FromStream(memoryStream);

   image.Save(Server.MapPath( "./uploadfile/222.png" ));

}

/// <summary>

/// 二进制流转图片

/// </summary>

/// <param name="streamByte">二进制流</param>

/// <returns>图片</returns>

public System.Drawing.Image ReturnPhoto( byte [] streamByte)

{

   System.IO.MemoryStream ms = new System.IO.MemoryStream(streamByte);

   System.Drawing.Image img = System.Drawing.Image.FromStream(ms);

   return img;

}

/// <summary>

/// 图片转二进制

/// </summary>

/// <param name="imagepath">图片地址</param>

/// <returns>二进制</returns>

public byte [] GetPictureData( string imagepath)

{

   //根据图片文件的路径使用文件流打开,并保存为byte[]

   FileStream fs = new FileStream(imagepath, FileMode.Open); //可以是其他重载方法

   byte [] byData = new byte [fs.Length];

   fs.Read(byData, 0, byData.Length);

   fs.Close();

   return byData;

}

/// <summary>

/// 图片转二进制

/// </summary>

/// <param name="imgPhoto">图片对象</param>

/// <returns>二进制</returns>

public byte [] PhotoImageInsert(System.Drawing.Image imgPhoto)

{

   //将Image转换成流数据,并保存为byte[]

   MemoryStream mstream = new MemoryStream();

   imgPhoto.Save(mstream, System.Drawing.Imaging.ImageFormat.Bmp);

   byte [] byData = new Byte[mstream.Length];

   mstream.Position = 0;

   mstream.Read(byData, 0, byData.Length);

   mstream.Close();

   return byData;

}

希望本文所述对大家C#程序设计有所帮助。

dy("nrwz");

查看更多关于C#中图片、二进制与字符串的相互转换方法的详细内容...

  阅读:48次